1. 22 Apr, 2015 2 commits
    • Andre Przywara's avatar
      KVM: arm/arm64: check IRQ number on userland injection · fd1d0ddf
      Andre Przywara authored
      When userland injects a SPI via the KVM_IRQ_LINE ioctl we currently
      only check it against a fixed limit, which historically is set
      to 127. With the new dynamic IRQ allocation the effective limit may
      actually be smaller (64).
      So when now a malicious or buggy userland injects a SPI in that
      range, we spill over on our VGIC bitmaps and bytemaps memory.
      I could trigger a host kernel NULL pointer dereference with current
      mainline by injecting some bogus IRQ number from a hacked kvmtool:
      -----------------
      ....
      DEBUG: kvm_vgic_inject_irq(kvm, cpu=0, irq=114, level=1)
      DEBUG: vgic_update_irq_pending(kvm, cpu=0, irq=114, level=1)
      DEBUG: IRQ #114 still in the game, writing to bytemap now...
      Unable to handle kernel NULL pointer dereference at virtual address 00000000
      pgd = ffffffc07652e000
      [00000000] *pgd=00000000f658b003, *pud=00000000f658b003, *pmd=0000000000000000
      Internal error: Oops: 96000006 [#1] PREEMPT SMP
      Modules linked in:
      CPU: 1 PID: 1053 Comm: lkvm-msi-irqinj Not tainted 4.0.0-rc7+ #3027
      Hardware name: FVP Base (DT)
      task: ffffffc0774e9680 ti: ffffffc0765a8000 task.ti: ffffffc0765a8000
      PC is at kvm_vgic_inject_irq+0x234/0x310
      LR is at kvm_vgic_inject_irq+0x30c/0x310
      pc : [<ffffffc0000ae0a8>] lr : [<ffffffc0000ae180>] pstate: 80000145
      .....
      
      So this patch fixes this by checking the SPI number against the
      actual limit. Also we remove the former legacy hard limit of
      127 in the ioctl code.
      Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
      Reviewed-by: default avatarChristoffer Dall <christoffer.dall@linaro.org>
      CC: <stable@vger.kernel.org> # 4.0, 3.19, 3.18
      [maz: wrap KVM_ARM_IRQ_GIC_MAX with #ifndef __KERNEL__,
      as suggested by Christopher Covington]
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      fd1d0ddf
    • Eric Auger's avatar
      KVM: arm: irqfd: fix value returned by kvm_irq_map_gsi · 0b3289eb
      Eric Auger authored
      irqfd/arm curently does not support routing. kvm_irq_map_gsi is
      supposed to return all the routing entries associated with the
      provided gsi and return the number of those entries. We should
      return 0 at this point.
      Signed-off-by: default avatarEric Auger <eric.auger@linaro.org>
      Acked-by: default avatarChristoffer Dall <christoffer.dall@linaro.org>
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      0b3289eb
  2. 14 Apr, 2015 3 commits
    • Linus Torvalds's avatar
      Merge tag 'staging-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · b79013b2
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here's the big staging driver patchset for 4.1-rc1.
      
        There's a lot of patches here, the Outreachy application period
        happened during this development cycle, so that means that there was a
        lot of cleanup patches accepted.  Other than the normal coding style
        and sparse fixes here, there are some driver updates and work toward
        making some of the drivers into "mergable" shape (like the Unisys
        drivers.)
      
        All of these have been in linux-next for a while"
      
      * tag 'staging-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1214 commits)
        staging: lustre: orthography & coding style
        staging: lustre: lnet: lnet: fix error return code
        staging: lustre: fix sparse warning
        Revert "Staging: sm750fb: Fix C99 Comments"
        Staging: rtl8192u: use correct array for debug output
        staging: rtl8192e: Remove dead code
        staging: rtl8192e: Comment cleanup (style/format)
        staging: rtl8192e: Fix indentation in rtllib_rx_auth_resp()
        staging: rtl8192e: Decrease nesting of rtllib_rx_auth_resp()
        staging: rtl8192e: Divide rtllib_rx_auth()
        staging: rtl8192e: Fix PRINTK_WITHOUT_KERN_LEVEL warnings
        staging: rtl8192e: Fix DO_WHILE_MACRO_WITH_TRAILING_SEMICOLON warning
        staging: rtl8192e: Fix BRACES warning
        staging: rtl8192e: Fix LINE_CONTINUATIONS warning
        staging: rtl8192e: Fix UNNECESSARY_PARENTHESES warnings
        staging: rtl8192e: remove unused EXPORT_SYMBOL_RSL macro
        staging: rtl8192e: Fix RETURN_VOID warnings
        staging: rtl8192e: Fix UNNECESSARY_ELSE warning
        staging: rtl8723au: Remove unneeded comments
        staging: rtl8723au: Use __func__ in trace logs
        ...
      b79013b2
    • Linus Torvalds's avatar
      Merge tag 'driver-core-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · c4be50ee
      Linus Torvalds authored
      Pull driver core updates from Greg KH:
       "Here's the driver-core / kobject / lz4 tree update for 4.1-rc1.
      
        Everything here has been in linux-next for a while with no reported
        issues.  It's mostly just coding style cleanups, with other minor
        changes in here as well, nothing big"
      
      * tag 'driver-core-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (32 commits)
        debugfs: allow bad parent pointers to be passed in
        stable_kernel_rules: Add clause about specification of kernel versions to patch.
        kobject: WARN as tip when call kobject_get() to a kobject not initialized
        lib/lz4: Pull out constant tables
        drivers: platform: parse IRQ flags from resources
        driver core: Make probe deferral more quiet
        drivers/core/of: Add symlink to device-tree from devices with an OF node
        device: Add dev_of_node() accessor
        drivers: base: fw: fix ret value when loading fw
        firmware: Avoid manual device_create_file() calls
        drivers/base: cacheinfo: validate device node for all the caches
        drivers/base: use tabs where possible in code indentation
        driver core: add missing blank line after declaration
        drivers: base: node: Delete space after pointer declaration
        drivers: base: memory: Use tabs instead of spaces
        firmware_class: Fix whitespace and indentation
        drivers: base: dma-mapping: Erase blank space after pointer
        drivers: base: class: Add a blank line after declarations
        attribute_container: fix missing blank lines after declarations
        drivers: base: memory: Fix switch indent
        ...
      c4be50ee
    • Linus Torvalds's avatar
      Merge tag 'usb-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 42e3a58b
      Linus Torvalds authored
      Pull USB driver updates from Greg KH:
       "Here's the big USB (and PHY) driver patchset for 4.1-rc1.
      
        Everything here has been in linux-next, and the full details are below
        in the shortlog.  Nothing major, just the normal round of new
        drivers,api updates, and other changes, mostly in the USB gadget area,
        as usual"
      
      * tag 'usb-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (252 commits)
        drivers/usb/core: devio.c: Removed an uneeded space before tab
        usb: dwc2: host: sleep USB_RESUME_TIMEOUT during resume
        usb: chipidea: debug: add low power mode check before print registers
        usb: chipidea: udc: bypass pullup DP when gadget connect in OTG fsm mode
        usb: core: hub: use new USB_RESUME_TIMEOUT
        usb: isp1760: hcd: use new USB_RESUME_TIMEOUT
        usb: dwc2: hcd: use new USB_RESUME_TIMEOUT
        usb: host: sl811: use new USB_RESUME_TIMEOUT
        usb: host: r8a66597: use new USB_RESUME_TIMEOUT
        usb: host: oxu210hp: use new USB_RESUME_TIMEOUT
        usb: host: fusbh200: use new USB_RESUME_TIMEOUT
        usb: host: fotg210: use new USB_RESUME_TIMEOUT
        usb: host: isp116x: use new USB_RESUME_TIMEOUT
        usb: musb: use new USB_RESUME_TIMEOUT
        usb: host: uhci: use new USB_RESUME_TIMEOUT
        usb: host: ehci: use new USB_RESUME_TIMEOUT
        usb: host: xhci: use new USB_RESUME_TIMEOUT
        usb: define a generic USB_RESUME_TIMEOUT macro
        usb: musb: dsps: fix build on i386 when COMPILE_TEST is set
        ehci-hub: use USB_DT_HUB
        ...
      42e3a58b
  3. 13 Apr, 2015 35 commits
    • Linus Torvalds's avatar
      Merge branch 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 4fd48b45
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
       "Nothing too interesting.  Rik made cpuset cooperate better with
        isolcpus and there are several other cleanup patches"
      
      * 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cpuset, isolcpus: document relationship between cpusets & isolcpus
        cpusets, isolcpus: exclude isolcpus from load balancing in cpusets
        sched, isolcpu: make cpu_isolated_map visible outside scheduler
        cpuset: initialize cpuset a bit early
        cgroup: Use kvfree in pidlist_free()
        cgroup: call cgroup_subsys->bind on cgroup subsys initialization
      4fd48b45
    • Linus Torvalds's avatar
      Merge branch 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · a1480a16
      Linus Torvalds authored
      Pull libata updates from Tejun Heo:
      
       - Hannes's patchset implements support for better error reporting
         introduced by the new ATA command spec.
      
       - the deperecated pci_ dma API usages have been replaced by dma_ ones.
      
       - a bunch of hardware specific updates and some cleanups.
      
      * 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        ata: remove deprecated use of pci api
        ahci: st: st_configure_oob must be called after IP is clocked.
        ahci: st: Update the ahci_st DT documentation
        ahci: st: Update the DT example for how to obtain the PHY.
        sata_dwc_460ex: indent an if statement
        libata: Add tracepoints
        libata-eh: Set 'information' field for autosense
        libata: Implement support for sense data reporting
        libata: Implement NCQ autosense
        libata: use status bit definitions in ata_dump_status()
        ide,ata: Rename ATA_IDX to ATA_SENSE
        libata: whitespace fixes in ata_to_sense_error()
        libata: whitespace cleanup in ata_get_cmd_descript()
        libata: use READ_LOG_DMA_EXT
        libata: remove ATA_FLAG_LOWTAG
        sata_dwc_460ex: re-use hsdev->dev instead of dwc_dev
        sata_dwc_460ex: move to generic DMA driver
        sata_dwc_460ex: join messages back
        sata: xgene: add ACPI support for APM X-Gene SATA ports
        ata: sata_mv: add proper definitions for LP_PHY_CTL register values
      a1480a16
    • Linus Torvalds's avatar
      Merge branch 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 45141eea
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
       "Workqueue now prints debug information at the end of sysrq-t which
        should be helpful when tracking down suspected workqueue stalls.  It
        only prints out the ones with something currently going on so it
        shouldn't add much output in most cases"
      
      * 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: Reorder sysfs code
        percpu: Fix trivial typos in comments
        workqueue: dump workqueues on sysrq-t
        workqueue: keep track of the flushing task and pool manager
        workqueue: make the workqueues list RCU walkable
      45141eea
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8954672d
      Linus Torvalds authored
      Pull irq core updates from Thomas Gleixner:
       "Managerial summary:
      
        Core code:
         - final removal of IRQF_DISABLED
         - new state save/restore functions for virtualization support
         - wakeup support for stacked irqdomains
         - new function to solve the netpoll synchronization problem
      
       irqchips:
         - new driver for STi based devices
         - new driver for Vybrid MSCM
         - massive cleanup of the GIC driver by moving the GIC-addons to
           stacked irqdomains
         - the usual pile of fixes and updates to the various chip drivers"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)
        irqchip: GICv3: Add support for irq_[get, set]_irqchip_state()
        irqchip: GIC: Add support for irq_[get, set]_irqchip_state()
        genirq: Allow the irqchip state of an IRQ to be save/restored
        genirq: MSI: Fix freeing of unallocated MSI
        irqchip: renesas-irqc: Add wake-up support
        irqchip: armada-370-xp: Allow using wakeup source
        irqchip: mips-gic: Add new functions to start/stop the GIC counter
        irqchip: tegra: Add Tegra210 support
        irqchip: digicolor: Move digicolor_set_gc to init section
        irqchip: renesas-irqc: Add functional clock to bindings
        irqchip: renesas-irqc: Add minimal runtime PM support
        irqchip: renesas-irqc: Add more register documentation
        DT: exynos: update PMU binding
        ARM: exynos4/5: convert pmu wakeup to stacked domains
        irqchip: gic: Don't complain in gic_get_cpumask() if UP system
        ARM: zynq: switch from gic_arch_extn to gic_set_irqchip_flags
        ARM: ux500: switch from gic_arch_extn to gic_set_irqchip_flags
        ARM: shmobile: remove use of gic_arch_extn.irq_set_wake
        irqchip: gic: Add an entry point to set up irqchip flags
        ARM: omap: convert wakeupgen to stacked domains
        ...
      8954672d
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.1-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 3be1b98e
      Linus Torvalds authored
      Pull PCI changes from Bjorn Helgaas:
       "Enumeration
          - Read capability list as dwords, not bytes (Sean O. Stalley)
      
        Resource management
          - Don't check for PNP overlaps with unassigned PCI BARs (Bjorn Helgaas)
          - Mark invalid BARs as unassigned (Bjorn Helgaas)
          - Show driver, BAR#, and resource on pci_ioremap_bar() failure (Bjorn Helgaas)
          - Fail pci_ioremap_bar() on unassigned resources (Bjorn Helgaas)
          - Assign resources before drivers claim devices (Yijing Wang)
          - Claim bus resources before pci_bus_add_devices() (Yijing Wang)
      
        Power management
          - Optimize device state transition delays (Aaron Lu)
          - Don't clear ASPM bits when the FADT declares it's unsupported (Matthew Garrett)
      
        Virtualization
          - Add ACS quirks for Intel 1G NICs (Alex Williamson)
      
        IOMMU
          - Add ptr to OF node arg to of_iommu_configure() (Murali Karicheri)
          - Move of_dma_configure() to device.c to help re-use (Murali Karicheri)
          - Fix size when dma-range is not used (Murali Karicheri)
          - Add helper functions pci_get[put]_host_bridge_device() (Murali Karicheri)
          - Add of_pci_dma_configure() to update DMA configuration (Murali Karicheri)
          - Update DMA configuration from DT (Murali Karicheri)
          - dma-mapping: limit IOMMU mapping size (Murali Karicheri)
          - Calculate device DMA masks based on DT dma-range size (Murali Karicheri)
      
        ARM Versatile host bridge driver
          - Check for devm_ioremap_resource() failures (Jisheng Zhang)
      
        Broadcom iProc host bridge driver
          - Add Broadcom iProc PCIe driver (Ray Jui)
      
        Marvell MVEBU host bridge driver
          - Add suspend/resume support (Thomas Petazzoni)
      
        Renesas R-Car host bridge driver
          - Fix position of MSI enable bit (Nobuhiro Iwamatsu)
          - Write zeroes to reserved PCIEPARL bits (Nobuhiro Iwamatsu)
          - Change PCIEPARL and PCIEPARH to PCIEPALR and PCIEPAUR (Nobuhiro Iwamatsu)
          - Verify that mem_res is 64K-aligned (Nobuhiro Iwamatsu)
      
        Samsung Exynos host bridge driver
          - Fix INTx enablement statement termination error (Jaehoon Chung)
      
        Miscellaneous
          - Make a shareable UUID for PCI firmware ACPI _DSM (Aaron Lu)
          - Clarify policy for vendor IDs in pci.txt (Michael S. Tsirkin)"
      
      * tag 'pci-v4.1-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (36 commits)
        PCI: Read capability list as dwords, not bytes
        PCI: layerscape: Simplify platform_get_resource_byname() failure checking
        PCI: keystone: Don't dereference possible NULL pointer
        PCI: versatile: Check for devm_ioremap_resource() failures
        PCI: Don't clear ASPM bits when the FADT declares it's unsupported
        PCI: Clarify policy for vendor IDs in pci.txt
        PCI/ACPI: Optimize device state transition delays
        PCI: Export pci_find_host_bridge() for use inside PCI core
        PCI: Make a shareable UUID for PCI firmware ACPI _DSM
        PCI: Fix typo in Thunderbolt kernel message
        PCI: exynos: Fix INTx enablement statement termination error
        PCI: iproc: Add Broadcom iProc PCIe support
        PCI: iproc: Add DT docs for Broadcom iProc PCIe driver
        PCI: Export symbols required for loadable host driver modules
        PCI: Add ACS quirks for Intel 1G NICs
        PCI: mvebu: Add suspend/resume support
        PCI: Cleanup control flow
        sparc/PCI: Claim bus resources before pci_bus_add_devices()
        PCI: Assign resources before drivers claim devices (pci_scan_root_bus())
        PCI: Fail pci_ioremap_bar() on unassigned resources
        ...
      3be1b98e
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · 392b46f3
      Linus Torvalds authored
      Pull HSI changes from Sebastian Reichel:
      
       - nokia-modem: support speech data
       - misc fixes
      
      * tag 'hsi-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: cmt_speech: fix error return code
        HSI: nokia-modem: Add cmt-speech support
        HSI: cmt_speech: Add cmt-speech driver
        HSI: nokia-modem: fix error return code
      392b46f3
    • Linus Torvalds's avatar
      Merge tag 'for-v4.1' of git://git.infradead.org/battery-2.6 · a21c1ea6
      Linus Torvalds authored
      Pull power supply and reset changes from Sebastian Reichel:
      
       - new API for safe access of power supply function attrs
      
       - devres support for power supply (un)registration
      
       - new drivers / chips:
           - generic syscon based poweroff driver
           - iio & charger driver for da9150
           - fuel gauge driver for axp288
           - bq27x00: add support for bq27510
           - bq2415x: add support for bq24157s
      
       - twl4030-madc-battery: convert to iio consumer
      
       - misc fixes
      
      * tag 'for-v4.1' of git://git.infradead.org/battery-2.6: (66 commits)
        power: twl4030_madc_battery: Add missing MODULE_ALIAS
        power: twl4030-madc-battery: Convert to iio consumer.
        dt: power: Add docs for generic SYSCON poweroff driver.
        power: reset: Add generic SYSCON register mapped poweroff.
        power: max17042_battery: add missed blank
        power: max17042_battery: Use reg type instead of chip type
        power/reset: at91: big endian fixes for atsama5d3x
        power_supply: charger-manager: Fix dereferencing of ERR_PTR
        HID: input: Fix NULL pointer dereference when power_supply_register fails
        power: constify of_device_id array
        power/reset/rmobile-reset.c: Fix !HAS_IOMEM build
        power_supply: 88pm860x_charger: Fix possible NULL pointer dereference and use of initialized variable
        arm: mach-pxa: Decrement the power supply's device reference counter
        mfd: ab8500: Decrement the power supply's device reference counter
        power_supply: bq2415x_charger: Decrement the power supply's device reference counter
        power_supply: 88pm860x_charger: Decrement the power supply's device reference counter
        x86/olpc/xo15/sci: Use newly added power_supply_put API
        x86/olpc/xo1/sci: Use newly added power_supply_put API
        power_supply: charger-manager: Decrement the power supply's device reference counter
        power_supply: Increment power supply use counter when obtaining references
        ...
      a21c1ea6
    • Linus Torvalds's avatar
      Merge tag 'regulator-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · d700b056
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "Another release, another set of regulator updates.  Not much of it is
        showing up in the code yet but there's been a lot of discussion going
        on about how to enhance the regulator API to work better with modern
        SoCs which have a microcontroller sitting between Linux and the
        hardware.
      
        I'm hopeful that'll start to come through into mainline for v4.2 but
        it's not quite there for v4.1 - what we do have (along with the usual
        small updates is) is:
      
         - work from Bjorn Andersson on refactoring the configuration of
           regulator loading interfaces to be useful for use with
           microcontrollers, the existing interfaces were never actually
           useful for anything as-is since nobody was willing to put enough
           data into public code.
      
         - a summary tree display in debugfs from Heiko Stübner.
      
         - support for act6000 regulators"
      
      * tag 'regulator-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (34 commits)
        regulator: max8660: Handle empty regulator data
        regulator: output current-limit for all regulators in summary
        regulator: add a summary tree in debugfs
        regulator: qcom: Tidy up probe()
        regulator: qcom: Rework to single platform device
        regulator: qcom: Refactor of-parsing code
        regulator: qcom: Don't enable DRMS in driver
        regulator: max8660: fix assignment of pdata to data that becomes dead
        regulator: Defer lookup of supply to regulator_get
        mfd: max77693: Remove unused structures
        regulator: max77693: Let core parse DT and drop board files support
        regulator: Ensure unique regulator debugfs directory names
        regulator: stw481x: Remove unused fields from struct stw481x
        regulator: palmas: Add has_regen3 check for TPS659038
        regulator: constify of_device_id array
        regulator: fixes for regulator_set_optimum_mode name change
        regulator: Drop temporary regulator_set_optimum_mode wrapper
        usb: phy: phy-msm-usb: Rename regulator_set_optimum_mode
        usb: phy: ab8500-usb: Rename regulator_set_optimum_mode
        ufs: Rename of regulator_set_optimum_mode
        ...
      d700b056
    • Linus Torvalds's avatar
      Merge tag 'spi-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 0055dc5b
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "Only one framework update this time around, a change from Lars-Peter
        to move full to pm_ops and remove the legacy bus PM ops.  Otherwise
        it's all driver updates:
      
         - make the spidev driver complain loudly if registered as spidev with
           DT rather than with a compatible string, hopefully helping people
           avoid making that mistake.
      
         - error handling and robustness fixes for the Designware and Intel
           MID drivers from Andy Shevchenko.
      
         - substantial performance improvements for the Raspberry Pi driver
           from Martin Sperl.
      
         - several new features for spidev_test from Adrian Remonda and Ian
           Abbott"
      
      * tag 'spi-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (75 commits)
        spi: bcm2835: enabling polling mode for transfers shorter than 30us
        spi: bcm2835: transform native-cs to gpio-cs on first spi_setup
        spi: img-spfi: Control CS lines with GPIO
        spi: img-spfi: Reset controller after each message
        spi: img-spfi: Implement a handle_err() callback
        spi: img-spfi: Setup TRANSACTION register before CONTROL register
        spi: Make master->handle_err() callback optional to avoid crashes
        spi: img-spfi: Limit bit clock to 1/4th of input clock
        spi: img-spfi: Implement a prepare_message() callback
        spi: fsl-dspi: Add ~50ns delay between cs and sck
        spi: fsl-dspi: Add cs-sck delays
        spi: fsl-dspi: Fix clock rate scale values
        spi: signedness bug in qspi_trigger_transfer_out_int()
        spi: imx: read back the RX/TX watermark levels earlier
        spi: spi-bfin5xx: Initialize cr_width in bfin_spi_pump_transfers()
        spi: bitbang: only toggle bitchanges
        spi: pxa2xx: missing break in pxa2xx_ssp_get_clk_div()
        spi: fsl-dspi: Fix clock rate scale values
        spi: Using Trigger number to transmit/receive data
        spi: bcm2835: fill FIFO before enabling interrupts to reduce interrupts/message
        ...
      0055dc5b
    • Linus Torvalds's avatar
      Merge tag 'regmap-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 1b57c7c2
      Linus Torvalds authored
      Pull regmap update from Mark Brown:
       "Just one patch for regmap this time around, a change from Steven
        Rostedt to prettify the way we're making the regmap internal header
        available to the trace events (it turns out that the trace subsystem
        doesn't actually need to be in trace/events)"
      
      * tag 'regmap-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Move tracing header into drivers/base/regmap
      1b57c7c2
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.1' of git://git.linaro.org/people/ulf.hansson/mmc · 8d9095c6
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Add support for marking HPI as broken through devicetree
         - Enable runtime PM management of host devices
         - Remove the ->enable|disable() callbacks
         - Restructure code and cleanups
         - Refreshed some of the MMC sections in MAINTAINERS
      
        MMC host:
         - dw_mmc: HS400 mode support
         - dw_mmc: Add the cmd11 timer to detect a timeout
         - dw_mmc: Endian agnostic IO accessors
         - dw_mmc: Bugfixes
         - sh_mmcif: Add exclusion between cmd and interrupt
         - omap_hsmmc: Hibernation support
         - omap_hsmmc: Rework and simplify cover/card detect
         - omap_hsmmc: Stop using ->enable|disable() callbacks
         - atmel-mci: Endian agnostic IO
         - sunxi: Enable MMC_CAP_SDIO_IRQ
         - sdhci-st: Add support for the stih407 family silicon
         - sdhci-st: UHS card support in SDR104 mode
         - sdhci-st: HS200 mode support
         - sdhci-esdhc-imx: Use common mmc DT parser
         - sdhci-of-arasan: Use common mmc DT parser
         - sdhci-iproc: Add new driver for Broadcom IPROC SDHCI controller
         - sdhci-tegra: Convert to GPIO descriptors
         - sdhci-tegra: Optmize write_w path for tegra114 and later
         - sdhci-sirf: Update tuning procedure
         - sdhci: Fix card presence logic
         - sdhci: Cleanups and consolidation"
      
      * tag 'mmc-v4.1' of git://git.linaro.org/people/ulf.hansson/mmc: (79 commits)
        mmc: sdhci-st: Update ST SDHCI binding documentation.
        mmc: sdhci-st: Update the quirks for this controller.
        mmc: sdhci-st: Add sdhci_st_set_uhs_signaling function.
        mmc: sdhci-st: Add st_mmcss_cconfig function to configure mmcss glue registers.
        mmc: sdhci-st: Add delay management functions for top registers (eMMC).
        mmc: sdhci-st: Add support for de-asserting reset signal and top regs resource
        mmc: sdhci-st: Add macros for register offsets and bitfields for mmcss glue regs
        mmc: sdhci-esdhc-imx: Call mmc_of_parse()
        mmc: dw_mmc: Add locking around cmd11 timer
        mmc: dw_mmc: Add a return in an unexpected cmd11 timeout
        mmc: dw_mmc: Increase cmd11 timeout to 500ms
        mmc: dw_mmc: fix fifo ordering in big endian
        mmc: dw_mmc: change idmac descriptor files to __le32
        mmc: dw_mmc: make IO accessors endian agnostic
        mmc: core: Convert the error field in struct mmc_command|data into an int
        mmc: sdhci-of-arasan: Call OF parsing for MMC
        mmc: sdhci-pci: fix 64 BIT DMA quirks for rtsx
        mmc: Add support for marking hpi as broken through devicetree
        mmc: sdhci-tegra: convert to use GPIO descriptors
        mmc: omap_hsmmc: use generic slot-gpio isr to manage card detect pin
        ...
      8d9095c6
    • Linus Torvalds's avatar
      Merge tag 'edac_for_4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 1a370f4c
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
      
       - convert a bunch of drivers to static attribute groups (Takashi Iwai)
      
       - misc cleanups
      
      * tag 'edac_for_4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC: Constify of_device_id array
        EDAC, i82443bxgx: Don't export static symbol
        EDAC, amd64_edac: Get rid of per-node driver instances
        EDAC: Properly unwind on failure path in edac_init()
        EDAC: highbank: Use static attribute groups for sysfs entries
        EDAC: octeon: Use static attribute groups for sysfs entries
        EDAC: mpc85xx: Use static attribute groups for sysfs entries
        EDAC: i7core: Use static attribute groups for sysfs entries
        EDAC: i7core: Return proper error codes for kzalloc() errors
        EDAC: amd64: Use static attribute groups
        EDAC: Allow to pass driver-specific attribute groups
        EDAC: Use static attribute groups for managing sysfs entries
        EDAC: Delete unnecessary checks before pci_dev_put()
      1a370f4c
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v4.1' of... · 4b5ca741
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon updates from Guenter Roeck:
       "Support for new chips:
      
         - add support for IT8620E, IT8781F, IT8786E, and IT8790E to it87
           driver
      
         - add driver for NCT7904
      
        Functional improvements:
      
         - support for new devicetree structure in ibmpowernv driver
      
         - register pwm-fan and gpio-fan drivers as thermal cooling devices
      
         - various minor cleanup and improvements to it87, nct6775, jc42,
           ibmpex, and coretemp drivers"
      
      * tag 'hwmon-for-linus-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (43 commits)
        hwmon: (pwm-fan) Update the duty cycle inorder to control the pwm-fan
        hwmon: (it87) Use feature macros on sio_data
        hwmon: (ibmpowernv) Fix build error seen for some configurations
        hwmon: (gpio-fan) Move the thermal registration after registration is complete
        hwmon: (ibmpowernv) pretty print labels
        hwmon: (ibmpowernv) add a label attribute
        hwmon: (ibmpowernv) add support for the new device tree
        hwmon: (ibmpowernv) add a helper routine create_hwmon_attr
        hwmon: (it87) Add support for 6th fan of IT8620E
        hwmon: (it87) Add support for IT8620E
        hwmon: (it87) Add support for IT8790E
        hwmon: (it87) Introduce feature flag to reflect internal in7 sensor
        hwmon: (it87) Introduce configuration field for chip suffix
        hwmon: (it87) Fix PWM frequency display for chips with newer PWM control
        hwmon: (it87) Fix pwm sysfs attribute removal
        hwmon: (ibmpowernv) do not use the OPAL index for hwmon attribute names
        hwmon: (ibmpowernv) change create_hwmon_attr_name() prototype
        hwmon: (ibmpowernv) add a convert_opal_attr_name() routine
        hwmon: (ibmpowernv) add a get_sensor_type() routine
        hwmon: (ibmpowernv) replace AMBIENT_TEMP by TEMP
        ...
      4b5ca741
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32 · cb0fc55d
      Linus Torvalds authored
      Pull avr32 fix from Hans-Christian Egtvedt.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32:
        avr32: fix integer overflow in ELF_ET_DYN_BASE
      cb0fc55d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 5142ef1c
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/mac: Fix out-of-bounds array index in OSS IRQ source initialization
        m68k/pci: Remove a superflous KERN_ERR
        m68k/defconfig: Update defconfigs for v4.0-rc1
        m68k/q40: Make NE2000 builtin instead of modular
        m68k: Remove FSF address
      5142ef1c
    • Linus Torvalds's avatar
      Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6a16dda8
      Linus Torvalds authored
      Pull x86 vdso changes from Ingo Molnar:
       "Misc vDSO updates"
      
      * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/vdso: Remove x32 intermediates during 'make clean'
        x86/vdso: Teach 'make clean' to remove generated vdso-image-*.c files
        x86/vdso32/syscall.S: Do not load __USER32_DS to %ss
        x86/vdso: Fix the x86 vdso2c tool includes
      6a16dda8
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ec1bc8e4
      Linus Torvalds authored
      Pull x86 fix from Ingo Molnar:
       "Leftover from 4.0
      
        Fix a local stack variable corruption with certain kdump usage
        patterns (Dave Young)"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/numa: Fix kernel stack corruption in numa_init()->numa_clear_kernel_node_hotplug()
      ec1bc8e4
    • Linus Torvalds's avatar
      Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 07f2d8c6
      Linus Torvalds authored
      Pull x86 RAS changes from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Simplify the CMCI storm logic on Intel CPUs after yet another
           report about a race in the code (Borislav Petkov)
      
         - Enable the MCE threshold irq on AMD CPUs by default (Aravind
           Gopalakrishnan)
      
         - Add AMD-specific MCE-severity grading function.  Further error
           recovery actions will be based on its output (Aravind Gopalakrishnan)
      
         - Documentation updates (Borislav Petkov)
      
         - ... assorted fixes and cleanups"
      
      * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce/severity: Fix warning about indented braces
        x86/mce: Define mce_severity function pointer
        x86/mce: Add an AMD severities-grading function
        x86/mce: Reindent __mcheck_cpu_apply_quirks() properly
        x86/mce: Use safe MSR accesses for AMD quirk
        x86/MCE/AMD: Enable thresholding interrupts by default if supported
        x86/MCE: Make mce_panic() fatal machine check msg in the same pattern
        x86/MCE/intel: Cleanup CMCI storm logic
        Documentation/acpi/einj: Correct and streamline text
        x86/MCE/AMD: Drop bogus const modifier from AMD's bank4_names()
      07f2d8c6
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ee799f41
      Linus Torvalds authored
      Pull x86 platform change from Ingo Molnar:
       "An Intel Quark SoC fix"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/intel/quark: Run IMR self-test on IMR capble hw only
      ee799f41
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6cf78d4b
      Linus Torvalds authored
      Pull x86 mm changes from Ingo Molnar:
       "The main changes in this cycle were:
      
         - reduce the x86/32 PAE per task PGD allocation overhead from 4K to
           0.032k (Fenghua Yu)
      
         - early_ioremap/memunmap() usage cleanups (Juergen Gross)
      
         - gbpages support cleanups (Luis R Rodriguez)
      
         - improve AMD Bulldozer (family 0x15) ASLR I$ aliasing workaround to
           increase randomization by 3 bits (per bootup) (Hector
           Marco-Gisbert)
      
         - misc fixlets"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Improve AMD Bulldozer ASLR workaround
        x86/mm/pat: Initialize __cachemode2pte_tbl[] and __pte2cachemode_tbl[] in a bit more readable fashion
        init.h: Clean up the __setup()/early_param() macros
        x86/mm: Simplify probe_page_size_mask()
        x86/mm: Further simplify 1 GB kernel linear mappings handling
        x86/mm: Use early_param_on_off() for direct_gbpages
        init.h: Add early_param_on_off()
        x86/mm: Simplify enabling direct_gbpages
        x86/mm: Use IS_ENABLED() for direct_gbpages
        x86/mm: Unexport set_memory_ro() and set_memory_rw()
        x86/mm, efi: Use early_ioremap() in arch/x86/platform/efi/efi-bgrt.c
        x86/mm: Use early_memunmap() instead of early_iounmap()
        x86/mm/pat: Ensure different messages in STRICT_DEVMEM and PAT cases
        x86/mm: Reduce PAE-mode per task pgd allocation overhead from 4K to 32 bytes
      6cf78d4b
    • Linus Torvalds's avatar
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0ad5c6b3
      Linus Torvalds authored
      Pull x86 microcode changes from Ingo Molnar:
       "Microcode driver updates: mostly cleanups but also some fixes
        (Borislav Petkov)"
      
      * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode/amd: Drop the pci_ids.h dependency
        x86/microcode/intel: Fix printing of microcode blobs in show_saved_mc()
        x86/microcode/intel: Check scan_microcode()'s retval
        x86/microcode/intel: Sanitize microcode_pointer()
        x86/microcode/intel: Move mc arg last in get_matching_{microcode|sig}
        x86/microcode/intel: Simplify generic_load_microcode_early()
        x86/microcode: Consolidate family,model, ... code
        x86/microcode/intel: Rename update_match_revision()
        x86/microcode/intel: Sanitize _save_mc()
        x86/microcode/intel: Make _save_mc() return the updated saved count
        x86/microcode/intel: Simplify load_ucode_intel_bsp()
        x86/microcode/intel: Get rid of last arg to load_ucode_intel_bsp()
        x86/microcode/intel: Do the mc_saved_src NULL check first
        x86/microcode/intel: Check if microcode was found before applying
        x86/microcode/intel: Fix out of bounds memory access to the extended header
      0ad5c6b3
    • Linus Torvalds's avatar
      Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 421ec901
      Linus Torvalds authored
      Pull x86 fpu changes from Ingo Molnar:
       "Various x86 FPU handling cleanups, refactorings and fixes (Borislav
        Petkov, Oleg Nesterov, Rik van Riel)"
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
        x86/fpu: Kill eager_fpu_init_bp()
        x86/fpu: Don't allocate fpu->state for swapper/0
        x86/fpu: Rename drop_init_fpu() to fpu_reset_state()
        x86/fpu: Fold __drop_fpu() into its sole user
        x86/fpu: Don't abuse drop_init_fpu() in flush_thread()
        x86/fpu: Use restore_init_xstate() instead of math_state_restore() on kthread exec
        x86/fpu: Introduce restore_init_xstate()
        x86/fpu: Document user_fpu_begin()
        x86/fpu: Factor out memset(xstate, 0) in fpu_finit() paths
        x86/fpu: Change xstateregs_get()/set() to use ->xsave.i387 rather than ->fxsave
        x86/fpu: Don't abuse FPU in kernel threads if use_eager_fpu()
        x86/fpu: Always allow FPU in interrupt if use_eager_fpu()
        x86/fpu: __kernel_fpu_begin() should clear fpu_owner_task even if use_eager_fpu()
        x86/fpu: Also check fpu_lazy_restore() when use_eager_fpu()
        x86/fpu: Use task_disable_lazy_fpu_restore() helper
        x86/fpu: Use an explicit if/else in switch_fpu_prepare()
        x86/fpu: Introduce task_disable_lazy_fpu_restore() helper
        x86/fpu: Move lazy restore functions up a few lines
        x86/fpu: Change math_error() to use unlazy_fpu(), kill (now) unused save_init_fpu()
        x86/fpu: Don't do __thread_fpu_end() if use_eager_fpu()
        ...
      421ec901
    • Linus Torvalds's avatar
      Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 64f004a2
      Linus Torvalds authored
      Pull x86 debug changes from Ingo Molnar:
       "Stack printing fixlets"
      
      * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kernel: Use kstack_end() in dumpstack_64.c
        x86/kernel: Fix output of show_stack_log_lvl()
      64f004a2
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b48488d1
      Linus Torvalds authored
      Pull x86 cacheinfo sysfs changes from Ingo Molnar:
       "This tree converts the x86 cacheinfo sysfs code to use the generic
        code in drivers/base/cacheinfo.c.
      
        It's not intended to change the sysfs ABI:
      
            'This patch neither alters any existing sysfs entries nor their
             formating, however since the generic cacheinfo has switched to
             use the device attributes instead of the traditional raw
             kobjects, a directory named 'power' along with its standard
             attributes are added similar to any other device'"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu/cacheinfo: Fix cache_get_priv_group() for Intel processors
        x86/cacheinfo: Move cacheinfo sysfs code to generic infrastructure
      b48488d1
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9f3252f1
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "Various cleanups"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/iommu: Fix header comments regarding standard and _FINISH macros
        x86/earlyprintk: Put CONFIG_PCI-only functions under the #ifdef
        x86: Fix up obsolete __cpu_set() function usage
      9f3252f1
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5945fba8
      Linus Torvalds authored
      Pull x86 build changes from Ingo Molnar:
       "Small cleanups and fixes"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kexec: Cleanup KEXEC_VERIFY_SIG Kconfig help text
        x86/build/defconfig: Enable USB_EHCI_TT_NEWSCHED=y
        x86/build: Fix mkcapflags.sh bash-ism
        x86/Kconfig: Simplify X86_UP_APIC handling
        x86/Kconfig: Simplify X86_IO_APIC dependencies
        x86/Kconfig: Avoid issuing pointless turned off entries to .config
      5945fba8
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8f74bc5f
      Linus Torvalds authored
      Pull x86 boot changes from Ingo Molnar:
       "A number of cleanups"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Standardize strcmp()
        x86/boot/64: Remove pointless early_printk() message
        x86/boot/video: Move the 'video_segment' variable to video.c
      8f74bc5f
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 60f898ee
      Linus Torvalds authored
      Pull x86 asm changes from Ingo Molnar:
       "There were lots of changes in this development cycle:
      
         - over 100 separate cleanups, restructuring changes, speedups and
           fixes in the x86 system call, irq, trap and other entry code, part
           of a heroic effort to deobfuscate a decade old spaghetti asm code
           and its C code dependencies (Denys Vlasenko, Andy Lutomirski)
      
         - alternatives code fixes and enhancements (Borislav Petkov)
      
         - simplifications and cleanups to the compat code (Brian Gerst)
      
         - signal handling fixes and new x86 testcases (Andy Lutomirski)
      
         - various other fixes and cleanups
      
        By their nature many of these changes are risky - we tried to test
        them well on many different x86 systems (there are no known
        regressions), and they are split up finely to help bisection - but
        there's still a fair bit of residual risk left so caveat emptor"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (148 commits)
        perf/x86/64: Report regs_user->ax too in get_regs_user()
        perf/x86/64: Simplify regs_user->abi setting code in get_regs_user()
        perf/x86/64: Do report user_regs->cx while we are in syscall, in get_regs_user()
        perf/x86/64: Do not guess user_regs->cs, ss, sp in get_regs_user()
        x86/asm/entry/32: Tidy up JNZ instructions after TESTs
        x86/asm/entry/64: Reduce padding in execve stubs
        x86/asm/entry/64: Remove GET_THREAD_INFO() in ret_from_fork
        x86/asm/entry/64: Simplify jumps in ret_from_fork
        x86/asm/entry/64: Remove a redundant jump
        x86/asm/entry/64: Optimize [v]fork/clone stubs
        x86/asm/entry: Zero EXTRA_REGS for stub32_execve() too
        x86/asm/entry/64: Move stub_x32_execvecloser() to stub_execveat()
        x86/asm/entry/64: Use common code for rt_sigreturn() epilogue
        x86/asm/entry/64: Add forgotten CFI annotation
        x86/asm/entry/irq: Simplify interrupt dispatch table (IDT) layout
        x86/asm/entry/64: Move opportunistic sysret code to syscall code path
        x86, selftests: Add sigreturn selftest
        x86/alternatives: Guard NOPs optimization
        x86/asm/entry: Clear EXTRA_REGS for all executable formats
        x86/signal: Remove pax argument from restore_sigcontext
        ...
      60f898ee
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 977e1ba5
      Linus Torvalds authored
      Pull x86 apic changes from Ingo Molnar:
       "Changes:
      
         - SGI UV APIC driver updates
      
         - dead code removal"
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apic/uv: Update the UV APIC HUB check
        x86/apic/uv: Update the UV APIC driver check
        x86/apic/uv: Update the APIC UV OEM check
        x86/apic: Remove verify_local_APIC()
      977e1ba5
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7fd56474
      Linus Torvalds authored
      Pull timer updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - clockevents state machine cleanups and enhancements (Viresh Kumar)
      
         - clockevents broadcast notifier horror to state machine conversion
           and related cleanups (Thomas Gleixner, Rafael J Wysocki)
      
         - clocksource and timekeeping core updates (John Stultz)
      
         - clocksource driver updates and fixes (Ben Dooks, Dmitry Osipenko,
           Hans de Goede, Laurent Pinchart, Maxime Ripard, Xunlei Pang)
      
         - y2038 fixes (Xunlei Pang, John Stultz)
      
         - NMI-safe ktime_get_raw_fast() and general refactoring of the clock
           code, in preparation to perf's per event clock ID support (Peter
           Zijlstra)
      
         - generic sched/clock fixes, optimizations and cleanups (Daniel
           Thompson)
      
         - clockevents cpu_down() race fix (Preeti U Murthy)"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (94 commits)
        timers/PM: Drop unnecessary braces from tick_freeze()
        timers/PM: Fix up tick_unfreeze()
        timekeeping: Get rid of stale comment
        clockevents: Cleanup dead cpu explicitely
        clockevents: Make tick handover explicit
        clockevents: Remove broadcast oneshot control leftovers
        sched/idle: Use explicit broadcast oneshot control function
        ARM: Tegra: Use explicit broadcast oneshot control function
        ARM: OMAP: Use explicit broadcast oneshot control function
        intel_idle: Use explicit broadcast oneshot control function
        ACPI/idle: Use explicit broadcast control function
        ACPI/PAD: Use explicit broadcast oneshot control function
        x86/amd/idle, clockevents: Use explicit broadcast oneshot control functions
        clockevents: Provide explicit broadcast oneshot control functions
        clockevents: Remove the broadcast control leftovers
        ARM: OMAP: Use explicit broadcast control function
        intel_idle: Use explicit broadcast control function
        cpuidle: Use explicit broadcast control function
        ACPI/processor: Use explicit broadcast control function
        ACPI/PAD: Use explicit broadcast control function
        ...
      7fd56474
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 49d2953c
      Linus Torvalds authored
      Pull scheduler changes from Ingo Molnar:
       "Major changes:
      
         - Reworked CPU capacity code, for better SMP load balancing on
           systems with assymetric CPUs. (Vincent Guittot, Morten Rasmussen)
      
         - Reworked RT task SMP balancing to be push based instead of pull
           based, to reduce latencies on large CPU count systems. (Steven
           Rostedt)
      
         - SCHED_DEADLINE support updates and fixes. (Juri Lelli)
      
         - SCHED_DEADLINE task migration support during CPU hotplug. (Wanpeng Li)
      
         - x86 mwait-idle optimizations and fixes. (Mike Galbraith, Len Brown)
      
         - sched/numa improvements. (Rik van Riel)
      
         - various cleanups"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (28 commits)
        sched/core: Drop debugging leftover trace_printk call
        sched/deadline: Support DL task migration during CPU hotplug
        sched/core: Check for available DL bandwidth in cpuset_cpu_inactive()
        sched/deadline: Always enqueue on previous rq when dl_task_timer() fires
        sched/core: Remove unused argument from init_[rt|dl]_rq()
        sched/deadline: Fix rt runtime corruption when dl fails its global constraints
        sched/deadline: Avoid a superfluous check
        sched: Improve load balancing in the presence of idle CPUs
        sched: Optimize freq invariant accounting
        sched: Move CFS tasks to CPUs with higher capacity
        sched: Add SD_PREFER_SIBLING for SMT level
        sched: Remove unused struct sched_group_capacity::capacity_orig
        sched: Replace capacity_factor by usage
        sched: Calculate CPU's usage statistic and put it into struct sg_lb_stats::group_usage
        sched: Add struct rq::cpu_capacity_orig
        sched: Make scale_rt invariant with frequency
        sched: Make sched entity usage tracking scale-invariant
        sched: Remove frequency scaling from cpu_capacity
        sched: Track group sched_entity usage contributions
        sched: Add sched_avg::utilization_avg_contrib
        ...
      49d2953c
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cc76ee75
      Linus Torvalds authored
      Pull core locking changes from Ingo Molnar:
       "Main changes:
      
         - jump label asm preparatory work for PowerPC (Anton Blanchard)
      
         - rwsem optimizations and cleanups (Davidlohr Bueso)
      
         - mutex optimizations and cleanups (Jason Low)
      
         - futex fix (Oleg Nesterov)
      
         - remove broken atomicity checks from {READ,WRITE}_ONCE() (Peter
           Zijlstra)"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        powerpc, jump_label: Include linux/jump_label.h to get HAVE_JUMP_LABEL define
        jump_label: Allow jump labels to be used in assembly
        jump_label: Allow asm/jump_label.h to be included in assembly
        locking/mutex: Further simplify mutex_spin_on_owner()
        locking: Remove atomicy checks from {READ,WRITE}_ONCE
        locking/rtmutex: Rename argument in the rt_mutex_adjust_prio_chain() documentation as well
        locking/rwsem: Fix lock optimistic spinning when owner is not running
        locking: Remove ACCESS_ONCE() usage
        locking/rwsem: Check for active lock before bailing on spinning
        locking/rwsem: Avoid deceiving lock spinners
        locking/rwsem: Set lock ownership ASAP
        locking/rwsem: Document barrier need when waking tasks
        locking/futex: Check PF_KTHREAD rather than !p->mm to filter out kthreads
        locking/mutex: Refactor mutex_spin_on_owner()
        locking/mutex: In mutex_spin_on_owner(), return true when owner changes
      cc76ee75
    • Linus Torvalds's avatar
      Merge branch 'core-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9c65e12a
      Linus Torvalds authored
      Pull EFI update from Ingo Molnar:
       "This tree includes various fixes, cleanups, a new efi=debug boot
        option and EFI boot stub memory allocation optimizations"
      
      * 'core-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi/libstub: Retrieve FDT size when loaded from UEFI config table
        efi: Clean up the efi_call_phys_[prolog|epilog]() save/restore interaction
        efi: Disable interrupts around EFI calls, not in the epilog/prolog calls
        x86/efi: Add a "debug" option to the efi= cmdline
        firmware: dmi_scan: Use direct access to static vars
        firmware: dmi_scan: Use full dmi version for SMBIOS3
      9c65e12a
    • Linus Torvalds's avatar
      Merge tag 'md/4.0-rc7-fix' of git://neil.brown.name/md · 67dbb3a0
      Linus Torvalds authored
      Pull md fixes from Neil Brown:
       "Two regression fixes for md, one fairly recent and minor (diskstats
        has confusing data) and one older and more serious - RAID0 with
        non-power-of-2 chunksize corrupts data.
      
        I guess (almost) no-one uses non-power-of-2 chunks.
      
        Summary:
      
         - Revert recent change which broke IO accounting.
      
         - Fix bug with RAID0 arrays with non-power-of-2 chunk size"
      
      * tag 'md/4.0-rc7-fix' of git://neil.brown.name/md:
        md/raid0: fix bug with chunksize not a power of 2.
        md: fix md io stats accounting broken
      67dbb3a0
    • Andrey Ryabinin's avatar
      avr32: fix integer overflow in ELF_ET_DYN_BASE · 940db9e6
      Andrey Ryabinin authored
      Almost all arches define ELF_ET_DYN_BASE as 2/3 of TASK_SIZE.
      Though it seems that some architectures do this in a wrong way.
      The problem is that 2*TASK_SIZE may overflow 32-bits so
      the real ELF_ET_DYN_BASE becomes wrong.
      Fix this overflow by dividing TASK_SIZE prior to multiplying:
      	 (TASK_SIZE / 3 * 2)
      Signed-off-by: default avatarAndrey Ryabinin <a.ryabinin@samsung.com>
      Acked-by: default avatarHans-Christian Egtvedt <egtvedt@samfundet.no>
      940db9e6