1. 21 Feb, 2015 24 commits
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.20-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · cd50b70c
      Linus Torvalds authored
      Pull one more batch of power management and ACPI updates from Rafael Wysocki:
       "These are mostly fixes on top of the previously merged recent PM and
        ACPI material.
        First, one commit that broke the ACPI LPSS (Low-Power Subsystem)
        driver on a Dell box is reverted and there are two stable-candidate
        fixes for that driver.  Another fix cleans up two recently added ACPI
        EC messages that look odd and the printk level of a noisy debug
        message in the core ACPI resources handling code is reduced.
        In addition to that we have two stable-candidate fixes for the s3c
        cpufreq driver, two cpuidle powernv driver updates related to Device
        Trees and a PNP subsystem cleanup that will allow us to get rid of
        some old ugliness going forward.  Also there is a new blacklist entry
        for the ACPI backlight code.
         - Revert a recent ACPI LPSS driver commit that prevented the touchpad
           driver from loading on Dell XPS13 (Jarkko Nikula).
         - Make the ACPI LPSS driver disable the I2C controllers and deassert
           SPI host controllers resets at startup on Intel BayTrail and
           Braswell SoCs in case they have been left in wrong states by the
           platform firmware which then may casuse fatal controller driver
           failures during resume from hibernation (Mika Westerberg).
         - Make two recently added ACPI EC messages look better (Scot Doyle).
         - Reduce the printk level of a recently added debug message related
           to ACPI resources that may become noisy in some cases (Rafael J
         - Add a new ACPI backlight blacklist entry for Samsung Series 9
           (900X3C/900X3D/900X3E/900X4C/900X4D) laptops where the native
           backlight interface doesn't work while the ACPI based one does
           (Jens Reyer).
         - Make the PNP sybsystem's core code use __request_region() followed
           by __release_region() instead of __check_region() which then will
           allow us to get rid of the latter as it has no more users (Jakub
         - Fix a build breakage and an issue with two __init functions that
           may be called after initialization in the s3c cpufreq driver (Arnd
         - Make the powernv cpuidle driver read target_residency values for
           idle states from a Device Tree (as we have the suitable DT bindings
           for that now) and improve the parsing of the powermgmt DT node in
           that driver (Preeti U Murthy)"
      * tag 'pm+acpi-3.20-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpuidle: powernv: Avoid endianness conversions while parsing DT
        cpufreq: s3c: remove last use of resume_clocks callback
        cpufreq: s3c: remove incorrect __init annotations
        ACPI / LPSS: Deassert resets for SPI host controllers on Braswell
        ACPI / LPSS: Always disable I2C host controllers
        ACPI / resources: Change pr_info() to pr_debug() for debug information
        ACPI / video: Disable native backlight on Samsung Series 9 laptops
        cpuidle: powernv: Read target_residency value of idle states from DT if available
        Revert "ACPI / LPSS: Remove non-existing clock control from Intel Lynxpoint I2C"
        ACPI / EC: Remove non-standard log emphasis
        PNP: Switch from __check_region() to __request_region()
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 2bfedd1d
      Linus Torvalds authored
      Pull followup block layer updates from Jens Axboe:
       "Two things in this pull request:
         - A block throttle oops fix (marked for stable) from Thadeu.
         - The NVMe fixes/features queued up for 3.20, but merged later in the
           process.  From Keith.  We should have gotten this merged earlier,
           we're ironing out the kinks in the process.  Will be ready for the
           initial pull next series"
      * 'for-linus' of git://git.kernel.dk/linux-block:
        blk-throttle: check stats_cpu before reading it from sysfs
        NVMe: Fix potential corruption on sync commands
        NVMe: Remove unused variables
        NVMe: Fix scsi mode select llbaa setting
        NVMe: Fix potential corruption during shutdown
        NVMe: Asynchronous controller probe
        NVMe: Register management handle under nvme class
        NVMe: Update SCSI Inquiry VPD 83h translation
        NVMe: Metadata format support
    • Linus Torvalds's avatar
      Merge tag 'dm-3.20-changes-2' of... · a911dcdb
      Linus Torvalds authored
      Merge tag 'dm-3.20-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      Pull more device mapper changes from Mike Snitzer:
      - Significant dm-crypt CPU scalability performance improvements thanks
        to changes that enable effective use of an unbound workqueue across
        all available CPUs.  A large battery of tests were performed to
        validate these changes, summary of results is available here:
      - A few additional stable fixes (to DM core, dm-snapshot and dm-mirror)
        and a small fix to the dm-space-map-disk.
      * tag 'dm-3.20-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm snapshot: fix a possible invalid memory access on unload
        dm: fix a race condition in dm_get_md
        dm crypt: sort writes
        dm crypt: add 'submit_from_crypt_cpus' option
        dm crypt: offload writes to thread
        dm crypt: remove unused io_pool and _crypt_io_pool
        dm crypt: avoid deadlock in mempools
        dm crypt: don't allocate pages for a partial request
        dm crypt: use unbound workqueue for request processing
        dm io: reject unsupported DISCARD requests with EOPNOTSUPP
        dm mirror: do not degrade the mirror on discard error
        dm space map disk: fix sm_disk_count_is_more_than_one()
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · e20d3ef5
      Linus Torvalds authored
      Pull SCSI target updates from Nicholas Bellinger:
       "The highlights this round include:
         - Update vhost-scsi to support F_ANY_LAYOUT using mm/iov_iter.c
           logic, and signal VERSION_1 support (MST + Viro + nab)
         - Fix iscsi/iser-target to remove problematic active_ts_set usage
           (Gavin Guo)
         - Update iscsi/iser-target to support multi-sequence sendtargets
         - Fix original PR_APTPL_BUF_LEN 8k size limitation (Martin Svec)
         - Add missing WRITE_SAME end-of-device sanity check (Bart)
         - Check for LBA + sectors wrap-around in sbc_parse_cdb() (nab)
         - Other various minor SPC/SBC compliance fixes based upon Ronnie
           Sahlberg test suite (nab)"
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (32 commits)
        target: Set LBPWS10 bit in Logical Block Provisioning EVPD
        target: Fail UNMAP when emulate_tpu=0
        target: Fail WRITE_SAME w/ UNMAP=1 when emulate_tpws=0
        target: Add sanity checks for DPO/FUA bit usage
        target: Perform PROTECT sanity checks for WRITE_SAME
        target: Fail I/O with PROTECT bit when protection is unsupported
        target: Check for LBA + sectors wrap-around in sbc_parse_cdb
        target: Add missing WRITE_SAME end-of-device sanity check
        iscsi-target: Avoid IN_LOGOUT failure case for iser-target
        target: Fix PR_APTPL_BUF_LEN buffer size limitation
        iscsi-target: Drop problematic active_ts_list usage
        iscsi/iser-target: Support multi-sequence sendtargets text response
        iser-target: Remove duplicate function names
        vhost/scsi: potential memory corruption
        vhost/scsi: Global tcm_vhost -> vhost_scsi rename
        vhost/scsi: Drop left-over scsi_tcq.h include
        vhost/scsi: Set VIRTIO_F_ANY_LAYOUT + VIRTIO_F_VERSION_1 feature bits
        vhost/scsi: Add ANY_LAYOUT support in vhost_scsi_handle_vq
        vhost/scsi: Add ANY_LAYOUT iov -> sgl mapping prerequisites
        vhost/scsi: Change vhost_scsi_map_to_sgl to accept iov ptr + len
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 1acd2de5
      Linus Torvalds authored
      Pull more input updates from Dmitry Torokhov:
       "The second round of updates for the input subsystem.
        Updates to ALPS an bfin_roraty drivers and a couple oother fixups"
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: psmouse - use IS_ENABLED instead of homegrown code
        Input: bfin_rotary - introduce open and close methods
        Input: bfin_rotary - convert to use managed resources
        Input: bfin_rotary - use generic IO functions
        Input: bfin_rotary - move pin lists into into platform data
        Input: bfin_rotary - move platform header to linux/platform_data
        Input: bfin_rotary - mark suspend and resume code as __maybe_unused
        Input: bfin_rotary - fix potential oops in interrupt handler
        Input: ALPS - move v7 packet info to Documentation and v6 packet info
        Input: ALPS - fix confusing comment in protocol data
        Input: ALPS - do not mix trackstick and external PS/2 mouse data
        Input: ALPS - fix trackstick detection on some Dell Latitudes
        Input: ALPS - consolidate setting protocol parameters
        Input: ALPS - split protocol data from model info
        Input: ALPS - make Rushmore a separate protocol
        Input: ALPS - renumber protocol numbers
        Input: adi - remove an unnecessary check
        Input: pxa27x_keypad - remove an unneeded NULL check
        Input: soc_button_array - use "Windows" key for "Home"
    • Linus Torvalds's avatar
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · b5ccb078
      Linus Torvalds authored
      Pull InfiniBand/RDMA updates from Roland Dreier:
       - Re-enable on-demand paging changes with stable ABI
       - Fairly large set of ocrdma HW driver fixes
       - Some qib HW driver fixes
       - Other miscellaneous changes
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (43 commits)
        IB/qib: Add blank line after declaration
        IB/qib: Fix checkpatch warnings
        IB/mlx5: Enable the ODP capability query verb
        IB/core: Add on demand paging caps to ib_uverbs_ex_query_device
        IB/core: Add support for extended query device caps
        RDMA/cxgb4: Don't hang threads forever waiting on WR replies
        RDMA/ocrdma: Fix off by one in ocrdma_query_gid()
        RDMA/ocrdma: Use unsigned for bit index
        RDMA/ocrdma: Help gcc generate better code for ocrdma_srq_toggle_bit
        RDMA/ocrdma: Update the ocrdma module version string
        RDMA/ocrdma: set vlan present bit for user AH
        RDMA/ocrdma: remove reference of ocrdma_dev out of ocrdma_qp structure
        RDMA/ocrdma: Add support for interrupt moderation
        RDMA/ocrdma: Honor return value of ocrdma_resolve_dmac
        RDMA/ocrdma: Allow expansion of the SQ CQEs via buddy CQ expansion of the QP
        RDMA/ocrdma: Discontinue support of RDMA-READ-WITH-INVALIDATE
        RDMA/ocrdma: Host crash on destroying device resources
        RDMA/ocrdma: Report correct state in ibv_query_qp
        RDMA/ocrdma: Debugfs enhancments for ocrdma driver
        RDMA/ocrdma: Report correct count of interrupt vectors while registering ocrdma device
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 29532455
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
         - legacy PM code removed from the core, there were no users anymore
           (thanks to Lars-Peter Clausen)
         - new driver for Broadcom iProc
         - bigger driver updates for designware, rk3x, cadence, ocores
         - a bunch of smaller updates and bugfixes"
      * 'i2c/for-3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (31 commits)
        i2c: ocores: rework clk code to handle NULL cookie
        i2c: designware-baytrail: another fixup for proper Kconfig dependencies
        i2c: fix reference to functionality constants definition
        i2c: iproc: Add Broadcom iProc I2C Driver
        i2c: designware-pci: update Intel copyright line
        i2c: ocores: add common clock support
        i2c: hix5hd2: add COMPILE_TEST
        i2c: clarify comments about the dev_released completion
        i2c: ocores: fix clock-frequency binding usage
        i2c: tegra: Maintain CPU endianness
        i2c: designware-baytrail: use proper Kconfig dependencies
        i2c: designware: Do not calculate SCL timing parameters needlessly
        i2c: do not try to load modules for of-registered devices
        i2c: designware: Add Intel Baytrail PMIC I2C bus support
        i2c: designware: Add i2c bus locking support
        of: i2c: Add i2c-mux-idle-disconnect DT property to PCA954x mux driver
        i2c: designware: use {readl|writel}_relaxed instead of readl/writel
        i2c: designware-pci: no need to provide clk_khz
        i2c: designware-pci: remove Moorestown support
        i2c: imx: whitespace and checkpatch cleanup
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus-3.20' of git://git.linaro.org/people/mike.turquette/linux · 18a8d499
      Linus Torvalds authored
      Pull clock framework updates from Mike Turquette:
       "The clock framework changes contain the usual driver additions,
        enhancements and fixes mostly for ARM32, ARM64, MIPS and Power-based
        Additionally the framework core underwent a bit of surgery with two
        major changes:
         - The boundary between the clock core and clock providers (e.g clock
           drivers) is now more well defined with dedicated provider helper
           functions.  struct clk no longer maps 1:1 with the hardware clock
           but is a true per-user cookie which helps us tracker users of
           hardware clocks and debug bad behavior.
         - The addition of rate constraints for clocks.  Rate ranges are now
           supported which are analogous to the voltage ranges in the
           regulator framework.
        Unfortunately these changes to the core created some breakeage.  We
        think we fixed it all up but for this reason there are lots of last
        minute commits trying to undo the damage"
      * tag 'clk-for-linus-3.20' of git://git.linaro.org/people/mike.turquette/linux: (113 commits)
        clk: Only recalculate the rate if needed
        Revert "clk: mxs: Fix invalid 32-bit access to frac registers"
        clk: qoriq: Add support for the platform PLL
        powerpc/corenet: Enable CLK_QORIQ
        clk: Replace explicit clk assignment with __clk_hw_set_clk
        clk: Add __clk_hw_set_clk helper function
        clk: Don't dereference parent clock if is NULL
        MIPS: Alchemy: Remove bogus args from alchemy_clk_fgcs_detr
        clkdev: Always allocate a struct clk and call __clk_get() w/ CCF
        clk: shmobile: div6: Avoid division by zero in .round_rate()
        clk: mxs: Fix invalid 32-bit access to frac registers
        clk: omap: compile legacy omap3 clocks conditionally
        clkdev: Export clk_register_clkdev
        clk: Add rate constraints to clocks
        clk: remove clk-private.h
        pci: xgene: do not use clk-private.h
        arm: omap2+ remove dead clock code
        clk: Make clk API return per-user struct clk instances
        clk: tegra: Define PLLD_DSI and remove dsia(b)_mux
        clk: tegra: Add support for the Tegra132 CAR IP block
    • Linus Torvalds's avatar
      Merge tag 'vfio-v3.20-rc1' of git://github.com/awilliam/linux-vfio · c189cb8e
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
       - IOMMU updates based on trace analysis
       - VFIO device request interface
      * tag 'vfio-v3.20-rc1' of git://github.com/awilliam/linux-vfio:
        vfio-pci: Add device request interface
        vfio-pci: Generalize setup of simple eventfds
        vfio: Add and use device request op for vfio bus drivers
        vfio: Tie IOMMU group reference to vfio group
        vfio: Add device tracking during unbind
        vfio/type1: Add conditional rescheduling
        vfio/type1: Chunk contiguous reserved/invalid page mappings
        vfio/type1: DMA unmap chunking
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · a2a6937d
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Here are a few small fix patches for 3.20-rc1:
         - Quirks for Denon and Lifecam USB-audio devices and HD-audio on HP
         - A long-time regression fix for HDSP eMADI
         - Add missing DRAIN_TRIGGER flag set for ASoC intel-sst
         - Trivial fixes for sequencer core and HD-audio Tegra, a LINE6
      * tag 'sound-fix-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: usb: Fix support for Denon DA-300USB DAC (ID 154e:1003)
        ASoC: Intel: add SNDRV_PCM_INFO_DRAIN_TRIGGER flag
        ALSA: usb-audio: Don't attempt to get Lifecam HD-5000 sample rate
        ALSA: hda/tegra check correct return value from ioremap_resource
        ALSA: hdspm - Constrain periods to 2 on older cards
        ALSA: hda - enable mute led quirk for one more hp machine.
        ALSA: seq: potential out of bounds in do_control()
        ALSA: line6: Improve line6_read/write_data() interfaces
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · f5e25f0d
      Linus Torvalds authored
      Pull thermal management fix from Zhang Rui:
       "One patch to fix a problem that all Exynos SoCs will break at boot
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        thermal: exynos: fix: Check if data->tmu_read callback is present before read
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · d34696c2
      Linus Torvalds authored
      Pull s390 fixes from Martin Schwidefsky:
       "Two patches to save some memory if CONFIG_NR_CPUS is large, a changed
        default for the use of compare-and-delay, and a couple of bug fixes"
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/spinlock: disabled compare-and-delay by default
        s390/mm: align 64-bit PIE binaries to 4GB
        s390/cacheinfo: coding style changes
        s390/cacheinfo: fix shared cpu masks
        s390/smp: reduce size of struct pcpu
        s390/topology: convert cpu_topology array to per cpu variable
        s390/topology: delay initialization of topology cpu masks
        s390/vdso: fix clock_gettime for CLOCK_THREAD_CPUTIME_ID, -2 and -3
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f9677375
      Linus Torvalds authored
      Pull Intel Quark SoC support from Ingo Molnar:
       "This adds support for Intel Quark X1000 SoC boards, used in the low
        power 32-bit x86 Intel Galileo microcontroller board intended for the
        Arduino space.
        There's been some preparatory core x86 patches for Quark CPU quirks
        merged already, but this rounds it all up and adds Kconfig enablement.
        It's a clean hardware enablement addition tree at this point"
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/intel/quark: Fix simple_return.cocci warnings
        x86/intel/quark: Fix ptr_ret.cocci warnings
        x86/intel/quark: Add Intel Quark platform support
        x86/intel/quark: Add Isolated Memory Regions for Quark X1000
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f3c233d7
      Linus Torvalds authored
      Pull ntp fix from Ingo Molnar:
       "An adjtimex interface regression fix for 32-bit systems"
      [ A check that was added in a previous commit is really only a concern
        for 64bit systems, but was applied to both 32 and 64bit systems, which
        results in breaking 32bit systems.
        Thus the fix here is to make the check only apply to 64bit systems ]
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        ntp: Fixup adjtimex freq validation on 32-bit systems
    • Linus Torvalds's avatar
      Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 10436cf8
      Linus Torvalds authored
      Pull locking fixes from Ingo Molnar:
       "Two fixes: the paravirt spin_unlock() corruption/crash fix, and an
        rtmutex NULL dereference crash fix"
      * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/spinlocks/paravirt: Fix memory corruption on unlock
        locking/rtmutex: Avoid a NULL pointer dereference on deadlock
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5fbe4c22
      Linus Torvalds authored
      Pull misc x86 fixes from Ingo Molnar:
       "This contains:
         - EFI fixes
         - a boot printout fix
         - ASLR/kASLR fixes
         - intel microcode driver fixes
         - other misc fixes
        Most of the linecount comes from an EFI revert"
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/ASLR: Avoid PAGE_SIZE redefinition for UML subarch
        x86/microcode/intel: Handle truncated microcode images more robustly
        x86/microcode/intel: Guard against stack overflow in the loader
        x86, mm/ASLR: Fix stack randomization on 64-bit systems
        x86/mm/init: Fix incorrect page size in init_memory_mapping() printks
        x86/mm/ASLR: Propagate base load address calculation
        Documentation/x86: Fix path in zero-page.txt
        x86/apic: Fix the devicetree build in certain configs
        Revert "efi/libstub: Call get_memory_map() to obtain map and desc sizes"
        x86/efi: Avoid triple faults during EFI mixed mode calls
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e2defd02
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "Thiscontains misc fixes: preempt_schedule_common() and io_schedule()
        recursion fixes, sched/dl fixes, a completion_done() revert, two
        sched/rt fixes and a comment update patch"
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/rt: Avoid obvious configuration fail
        sched/autogroup: Fix failure to set cpu.rt_runtime_us
        sched/dl: Do update_rq_clock() in yield_task_dl()
        sched: Prevent recursion in io_schedule()
        sched/completion: Serialize completion_done() with complete()
        sched: Fix preempt_schedule_common() triggering tracing recursion
        sched/dl: Prevent enqueue of a sleeping task in dl_task_timer()
        sched: Make dl_task_time() use task_rq_lock()
        sched: Clarify ordering between task_rq_lock() and move_queued_task()
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b5aeca54
      Linus Torvalds authored
      Pull x86 uprobe/kprobe fixes from Ingo Molnar:
       "This contains two uprobes fixes, an uprobes comment update and a
        kprobes fix"
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        kprobes/x86: Mark 2 bytes NOP as boostable
        uprobes/x86: Fix 2-byte opcode table
        uprobes/x86: Fix 1-byte opcode tables
        uprobes/x86: Add comment with insn opcodes, mnemonics and why we dont support them
    • Linus Torvalds's avatar
      Merge branches 'core-urgent-for-linus' and 'irq-urgent-for-linus' of... · 3f4d9925
      Linus Torvalds authored
      Merge branches 'core-urgent-for-linus' and 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
      Pull rcu fix and x86 irq fix from Ingo Molnar:
       - Fix a bug that caused an RCU warning splat.
       - Two x86 irq related fixes: a hotplug crash fix and an ACPI IRQ
         registry fix.
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        rcu: Clear need_qs flag to prevent splat
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/irq: Check for valid irq descriptor in check_irq_vectors_for_cpu_disable()
        x86/irq: Fix regression caused by commit b568b860
    • Linus Torvalds's avatar
      kernel: make READ_ONCE() valid on const arguments · dd369297
      Linus Torvalds authored
      The use of READ_ONCE() causes lots of warnings witht he pending paravirt
      spinlock fixes, because those ends up having passing a member to a
      'const' structure to READ_ONCE().
      There should certainly be nothing wrong with using READ_ONCE() with a
      const source, but the helper function __read_once_size() would cause
      warnings because it would drop the 'const' qualifier, but also because
      the destination would be marked 'const' too due to the use of 'typeof'.
      Use a union of types in READ_ONCE() to avoid this issue.
      Also make sure to use parenthesis around the macro arguments to avoid
      possible operator precedence issues.
      Tested-by: default avatarIngo Molnar <mingo@kernel.org>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    • Jens Axboe's avatar
      Merge branch 'for-3.20' of git://git.infradead.org/users/kbusch/linux-nvme into for-linus · decf6d79
      Jens Axboe authored
      Merge 3.20 NVMe changes from Keith.
    • Thadeu Lima de Souza Cascardo's avatar
      blk-throttle: check stats_cpu before reading it from sysfs · 045c47ca
      Thadeu Lima de Souza Cascardo authored
      When reading blkio.throttle.io_serviced in a recently created blkio
      cgroup, it's possible to race against the creation of a throttle policy,
      which delays the allocation of stats_cpu.
      Like other functions in the throttle code, just checking for a NULL
      stats_cpu prevents the following oops caused by that race.
      [ 1117.285199] Unable to handle kernel paging request for data at address 0x7fb4d0020
      [ 1117.285252] Faulting instruction address: 0xc0000000003efa2c
      [ 1137.733921] Oops: Kernel access of bad area, sig: 11 [#1]
      [ 1137.733945] SMP NR_CPUS=2048 NUMA PowerNV
      [ 1137.734025] Modules linked in: bridge stp llc kvm_hv kvm binfmt_misc autofs4
      [ 1137.734102] CPU: 3 PID: 5302 Comm: blkcgroup Not tainted 3.19.0 #5
      [ 1137.734132] task: c000000f1d188b00 ti: c000000f1d210000 task.ti: c000000f1d210000
      [ 1137.734167] NIP: c0000000003efa2c LR: c0000000003ef9f0 CTR: c0000000003ef980
      [ 1137.734202] REGS: c000000f1d213500 TRAP: 0300   Not tainted  (3.19.0)
      [ 1137.734230] MSR: 9000000000009032 <SF,HV,EE,ME,IR,DR,RI>  CR: 42008884  XER: 20000000
      [ 1137.734325] CFAR: 0000000000008458 DAR: 00000007fb4d0020 DSISR: 40000000 SOFTE: 0
      GPR00: c0000000003ed3a0 c000000f1d213780 c000000000c59538 0000000000000000
      GPR04: 0000000000000800 0000000000000000 0000000000000000 0000000000000000
      GPR08: ffffffffffffffff 00000007fb4d0020 00000007fb4d0000 c000000000780808
      GPR12: 0000000022000888 c00000000fdc0d80 0000000000000000 0000000000000000
      GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
      GPR20: 000001003e120200 c000000f1d5b0cc0 0000000000000200 0000000000000000
      GPR24: 0000000000000001 c000000000c269e0 0000000000000020 c000000f1d5b0c80
      GPR28: c000000000ca3a08 c000000000ca3dec c000000f1c667e00 c000000f1d213850
      [ 1137.734886] NIP [c0000000003efa2c] .tg_prfill_cpu_rwstat+0xac/0x180
      [ 1137.734915] LR [c0000000003ef9f0] .tg_prfill_cpu_rwstat+0x70/0x180
      [ 1137.734943] Call Trace:
      [ 1137.734952] [c000000f1d213780] [d000000005560520] 0xd000000005560520 (unreliable)
      [ 1137.734996] [c000000f1d2138a0] [c0000000003ed3a0] .blkcg_print_blkgs+0xe0/0x1a0
      [ 1137.735039] [c000000f1d213960] [c0000000003efb50] .tg_print_cpu_rwstat+0x50/0x70
      [ 1137.735082] [c000000f1d2139e0] [c000000000104b48] .cgroup_seqfile_show+0x58/0x150
      [ 1137.735125] [c000000f1d213a70] [c0000000002749dc] .kernfs_seq_show+0x3c/0x50
      [ 1137.735161] [c000000f1d213ae0] [c000000000218630] .seq_read+0xe0/0x510
      [ 1137.735197] [c000000f1d213bd0] [c000000000275b04] .kernfs_fop_read+0x164/0x200
      [ 1137.735240] [c000000f1d213c80] [c0000000001eb8e0] .__vfs_read+0x30/0x80
      [ 1137.735276] [c000000f1d213cf0] [c0000000001eb9c4] .vfs_read+0x94/0x1b0
      [ 1137.735312] [c000000f1d213d90] [c0000000001ebb38] .SyS_read+0x58/0x100
      [ 1137.735349] [c000000f1d213e30] [c000000000009218] syscall_exit+0x0/0x98
      [ 1137.735383] Instruction dump:
      [ 1137.735405] 7c6307b4 7f891800 409d00b8 60000000 60420000 3d420004 392a63b0 786a1f24
      [ 1137.735471] 7d49502a e93e01c8 7d495214 7d2ad214 <7cead02a> e9090008 e9490010 e9290018
      And here is one code that allows to easily reproduce this, although this
      has first been found by running docker.
      void run(pid_t pid)
      	int n;
      	int status;
      	int fd;
      	char *buffer;
      	buffer = memalign(BUFFER_ALIGN, BUFFER_SIZE);
      	n = snprintf(buffer, BUFFER_SIZE, "%d\n", pid);
      	fd = open(CGPATH "/test/tasks", O_WRONLY);
      	write(fd, buffer, n);
      	if (fork() > 0) {
      		fd = open("/dev/sda", O_RDONLY | O_DIRECT);
      		read(fd, buffer, 512);
      	} else {
      		fd = open(CGPATH "/test/blkio.throttle.io_serviced", O_RDONLY);
      		n = read(fd, buffer, BUFFER_SIZE);
      void test(void)
      	int status;
      	mkdir(CGPATH "/test", 0666);
      	if (fork() > 0)
      	rmdir(CGPATH "/test");
      int main(int argc, char **argv)
      	int i;
      	for (i = 0; i < NR_TESTS; i++)
      	return 0;
      Reported-by: default avatarRicardo Marin Matinata <rmm@br.ibm.com>
      Signed-off-by: default avatarThadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    • Rafael J. Wysocki's avatar
      Merge branches 'pnp', 'pm-cpuidle' and 'pm-cpufreq' · 3466b547
      Rafael J. Wysocki authored
      * pnp:
        PNP: Switch from __check_region() to __request_region()
      * pm-cpuidle:
        cpuidle: powernv: Avoid endianness conversions while parsing DT
        cpuidle: powernv: Read target_residency value of idle states from DT if available
      * pm-cpufreq:
        cpufreq: s3c: remove last use of resume_clocks callback
        cpufreq: s3c: remove incorrect __init annotations
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-ec', 'acpi-soc', 'acpi-video' and 'acpi-resources' · 9d0de5a6
      Rafael J. Wysocki authored
      * acpi-ec:
        ACPI / EC: Remove non-standard log emphasis
      * acpi-soc:
        ACPI / LPSS: Deassert resets for SPI host controllers on Braswell
        ACPI / LPSS: Always disable I2C host controllers
        Revert "ACPI / LPSS: Remove non-existing clock control from Intel Lynxpoint I2C"
      * acpi-video:
        ACPI / video: Disable native backlight on Samsung Series 9 laptops
      * acpi-resources:
        ACPI / resources: Change pr_info() to pr_debug() for debug information
  2. 20 Feb, 2015 16 commits