Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync up with Linus #54

Merged
merged 137 commits into from
Apr 1, 2015
Merged

Sync up with Linus #54

merged 137 commits into from
Apr 1, 2015

Commits on Feb 23, 2015

  1. ARM: sunxi: Have ARCH_SUNXI select RESET_CONTROLLER for clock driver …

    …usage
    
    As the sunxi usb clocks all contain a reset controller, it is not
    possible to build the sunxi clock driver without RESET_CONTROLLER
    enabled. Doing so results in an undefined symbol error:
    
        drivers/built-in.o: In function `sunxi_gates_clk_setup':
        linux/drivers/clk/sunxi/clk-sunxi.c:1071: undefined reference to
    	`reset_controller_register'
    
    This is possible if building a minimal kernel without PHY_SUN4I_USB.
    
    The dependency issue is made visible at compile time instead of
    link time by the new A80 mmc clocks, which also use a reset control
    itself.
    
    This patch makes ARCH_SUNXI select ARCH_HAS_RESET_CONTROLLER and
    RESET_CONTROLLER.
    
    Fixes: 559482d ARM: sunxi: Split the various SoCs support in Kconfig
    Cc: <[email protected]> # 3.16+
    Reported-by: Lourens Rozema <[email protected]>
    Acked-by: Arnd Bergmann <[email protected]>
    Signed-off-by: Chen-Yu Tsai <[email protected]>
    Signed-off-by: Maxime Ripard <[email protected]>
    wens authored and mripard committed Feb 23, 2015
    Configuration menu
    Copy the full SHA
    fdc0074 View commit details
    Browse the repository at this point in the history
  2. ARM: pxa: Fix typo in zeus.c

    This patch fix a typo in struct platform_device can_regulator_device.
    
    Signed-off-by: Masanari Iida <[email protected]>
    Acked-by: Daniel Mack <[email protected]>
    Signed-off-by: Robert Jarzmik <[email protected]>
    standby24x7 authored and rjarzmik committed Feb 23, 2015
    Configuration menu
    Copy the full SHA
    5c0c75d View commit details
    Browse the repository at this point in the history
  3. ARM: pxa: fix pxa interrupts handling in DT

    The commit "ARM: pxa: arbitrarily set first interrupt number" changed
    the first pxa interrupt to 16.
    
    As a consequence, device-tree builds got broken, because :
     - pxa_mask_irq() and pxa_unmask_irq() are using IRQ_BIT()
     - IRQ_BIT(x) calculates the interrupts as : x - PXA_IRQ(0)
    
    Before the commit, the first interrupt shift, PXA_IRQ(0) was 0,
    therefore IRQ_BIT(x) was x. After the change, it is necessary that the
    same shift of 16 is applied between the virtual interrupt number and the
    hardware irq number.
    
    This situation comes from the common irq_chip shared between legacy
    platform builds and device-tree builds.
    
    Fix the broken interrupts in DT case by adding this shift in the DT case
    too.
    
    As a consequence of the IRQ_BIT() is removed alltogether from interrupts
    handling, even in the platform data types of platforms :
     - a legacy irq domain is used
     - the irq_chip handles hardware interrupts
     - the virtual to hardware interrupt conversion is fully handled by irq
       domain mechanics
    
    Signed-off-by: Robert Jarzmik <[email protected]>
    rjarzmik committed Feb 23, 2015
    Configuration menu
    Copy the full SHA
    d6cf30c View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2015

  1. writeback: add missing INITIAL_JIFFIES init in global_update_bandwidth()

    global_update_bandwidth() uses static variable update_time as the
    timestamp for the last update but forgets to initialize it to
    INITIALIZE_JIFFIES.
    
    This means that global_dirty_limit will be 5 mins into the future on
    32bit and some large amount jiffies into the past on 64bit.  This
    isn't critical as the only effect is that global_dirty_limit won't be
    updated for the first 5 mins after booting on 32bit machines,
    especially given the auxiliary nature of global_dirty_limit's role -
    protecting against global dirty threshold's sudden dips; however, it
    does lead to unintended suboptimal behavior.  Fix it.
    
    Fixes: c42843f ("writeback: introduce smoothed global dirty limit")
    Signed-off-by: Tejun Heo <[email protected]>
    Acked-by: Jan Kara <[email protected]>
    Cc: Wu Fengguang <[email protected]>
    Cc: Jens Axboe <[email protected]>
    Cc: [email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    htejun authored and axboe committed Mar 4, 2015
    Configuration menu
    Copy the full SHA
    7d70e15 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2015

  1. nbd: fix possible memory leak

    we have already allocated memory for nbd_dev, but we were not
    releasing that memory and just returning the error value.
    
    Signed-off-by: Sudip Mukherjee <[email protected]>
    Acked-by: Paul Clements <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Markus Pargmann <[email protected]>
    sudipm-mukherjee authored and Markus Pargmann committed Mar 5, 2015
    Configuration menu
    Copy the full SHA
    ff6b809 View commit details
    Browse the repository at this point in the history
  2. gpio: mpc8xxx: remove __initdata annotation for mpc8xxx_gpio_ids[]

    Since commit 98686d9 ("gpio: mpc8xxx: Convert to platform device
    interface"), we get the following section mismatch warning. Remove the
    __initdata annotation to fix it.
      WARNING: vmlinux.o(.data+0xbc28): Section mismatch in reference from the variable mpc8xxx_plat_driver to the variable .init.data:mpc8xxx_gpio_ids
      The variable mpc8xxx_plat_driver references
      the variable __initdata mpc8xxx_gpio_ids
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
    
    Signed-off-by: Kevin Hao <[email protected]>
    Signed-off-by: Linus Walleij <[email protected]>
    haokexin authored and linusw committed Mar 5, 2015
    Configuration menu
    Copy the full SHA
    32c006a View commit details
    Browse the repository at this point in the history
  3. Merge tag 'nbd_fixes_20150305' of git://git.pengutronix.de/git/mpa/li…

    …nux-nbd into for-linus
    
    NBD fixes based on v4.0-rc1
    axboe committed Mar 5, 2015
    Configuration menu
    Copy the full SHA
    b8be79b View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2015

  1. spi: qup: Fix cs-num DT property parsing

    num-cs is 32 bit property, don't read just upper 16 bits.
    
    Fixes: 4a8573a (spi: qup: Remove chip select function)
    Signed-off-by: Ivan T. Ivanov <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Cc: [email protected]
    Ivan T. Ivanov authored and broonie committed Mar 7, 2015
    Configuration menu
    Copy the full SHA
    12cb89e View commit details
    Browse the repository at this point in the history
  2. spi: dw-mid: clear BUSY flag fist and test other one

    The logic of DMA completion is broken now since test_and_clear_bit() never
    returns the other bit is set. It means condition are always false and we have
    spi_finalize_current_transfer() called per each DMA completion which is wrong.
    
    The patch fixes logic by clearing BUSY bit first and then check for the other
    one.
    
    Fixes: 30c8eb5 (spi: dw-mid: split rx and tx callbacks when DMA)
    Signed-off-by: Andy Shevchenko <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Cc: [email protected]
    andy-shev authored and broonie committed Mar 7, 2015
    Configuration menu
    Copy the full SHA
    854d2f2 View commit details
    Browse the repository at this point in the history

Commits on Mar 12, 2015

  1. mfd: rtsx_usb: Prevent DMA from stack

    Functions rtsx_usb_ep0_read_register() and rtsx_usb_get_card_status()
    both use arbitrary buffer addresses from arguments directly for DMA and
    the buffers could be located in stack. This was caught by DMA-API debug
    check.
    
    Fixes this by using double-buffers via kzalloc in both functions to
    guarantee the validity of DMA buffer.
    
    WARNING: CPU: 1 PID: 25 at lib/dma-debug.c:1166 check_for_stack+0x96/0xe0()
    ehci-pci 0000:00:1a.0: DMA-API: device driver maps memory from stack
    [addr=ffff8801199e3cef]
    Modules linked in: rtsx_usb_ms arc4 memstick intel_rapl iosf_mbi
    rtl8192ce snd_hda_codec_hdmi snd_hda_codec_realtek
    snd_hda_codec_generic snd_hda_intel rtl_pci rtl8192c_common
    snd_hda_controller x86_pkg_temp_thermal snd_hda_codec rtlwifi mac80211
    coretemp kvm_intel kvm iTCO_wdt snd_hwdep snd_seq snd_seq_device
    crct10dif_pclmul iTCO_vendor_support sparse_keymap cfg80211
    crc32_pclmul snd_pcm crc32c_intel ghash_clmulni_intel rfkill i2c_i801
    snd_timer shpchp snd serio_raw mei_me lpc_ich soundcore mei tpm_tis
    tpm wmi nfsd auth_rpcgss nfs_acl lockd grace sunrpc i915
    rtsx_usb_sdmmc mmc_core 8021q uas garp stp i2c_algo_bit llc mrp
    drm_kms_helper usb_storage drm rtsx_usb mfd_core r8169 mii video
    CPU: 1 PID: 25 Comm: kworker/1:2 Not tainted 3.20.0-0.rc0.git7.3.fc22.x86_64 #1
    Hardware name: WB WB-B06211/WB-B0621, BIOS EB062IWB V1.0 12/12/2013
    Workqueue: events rtsx_usb_ms_handle_req [rtsx_usb_ms]
     0000000000000000 000000003d188e66 ffff8801199e3808 ffffffff8187642b
     0000000000000000 ffff8801199e3860 ffff8801199e3848 ffffffff810ab39a
     ffff8801199e3864 ffff8801199e3cef ffff880119b57098 ffff880119b37320
    Call Trace:
     [<ffffffff8187642b>] dump_stack+0x4c/0x65
     [<ffffffff810ab39a>] warn_slowpath_common+0x8a/0xc0
     [<ffffffff810ab425>] warn_slowpath_fmt+0x55/0x70
     [<ffffffff8187efe6>] ? _raw_spin_unlock_irqrestore+0x36/0x70
     [<ffffffff81453156>] check_for_stack+0x96/0xe0
     [<ffffffff81453934>] debug_dma_map_page+0x104/0x150
     [<ffffffff81613b86>] usb_hcd_map_urb_for_dma+0x646/0x790
     [<ffffffff81614165>] usb_hcd_submit_urb+0x1d5/0xa90
     [<ffffffff81106f8f>] ? mark_held_locks+0x7f/0xc0
     [<ffffffff81106f8f>] ? mark_held_locks+0x7f/0xc0
     [<ffffffff81103a15>] ? lockdep_init_map+0x65/0x5d0
     [<ffffffff81615d7e>] usb_submit_urb+0x42e/0x5f0
     [<ffffffff81616787>] usb_start_wait_urb+0x77/0x190
     [<ffffffff8124f035>] ? __kmalloc+0x205/0x2d0
     [<ffffffff8161697c>] usb_control_msg+0xdc/0x130
     [<ffffffffa0031669>] rtsx_usb_ep0_read_register+0x59/0x70 [rtsx_usb]
     [<ffffffffa00310c1>] ? rtsx_usb_get_rsp+0x41/0x50 [rtsx_usb]
     [<ffffffffa071da4e>] rtsx_usb_ms_handle_req+0x7ce/0x9c5 [rtsx_usb_ms]
    
    Reported-by: Josh Boyer <[email protected]>
    Signed-off-by: Roger Tseng <[email protected]>
    Signed-off-by: Lee Jones <[email protected]>
    roger-tttseng authored and Lee Jones committed Mar 12, 2015
    Configuration menu
    Copy the full SHA
    3a43477 View commit details
    Browse the repository at this point in the history
  2. mfd: kempld-core: Fix callback return value check

    On success, callback function returns 0. So invert the if condition
    check so that we can break out of loop.
    
    Cc: [email protected]
    Signed-off-by: Ameya Palande <[email protected]>
    Signed-off-by: Lee Jones <[email protected]>
    2ameya authored and Lee Jones committed Mar 12, 2015
    Configuration menu
    Copy the full SHA
    c864850 View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2015

  1. s390/cpum_sf: add diagnostic sampling event only if it is authorized

    The SF_CYCLES_BASIC_DIAG is always registered even if it is turned of in the
    current hardware configuration.  Because diagnostic-sampling is typically not
    turned on in the hardware configuration, do not register this perf event by
    default.  Enable it only if the diagnostic-sampling function is authorized.
    
    Signed-off-by: Hendrik Brueckner <[email protected]>
    Signed-off-by: Martin Schwidefsky <[email protected]>
    hbrueckner authored and Martin Schwidefsky committed Mar 13, 2015
    Configuration menu
    Copy the full SHA
    0a64815 View commit details
    Browse the repository at this point in the history
  2. s390/ftrace: fix compile error if CONFIG_KPROBES is disabled

    Signed-off-by: Heiko Carstens <[email protected]>
    Signed-off-by: Martin Schwidefsky <[email protected]>
    heicarst authored and Martin Schwidefsky committed Mar 13, 2015
    Configuration menu
    Copy the full SHA
    20e76ee View commit details
    Browse the repository at this point in the history
  3. s390/mm: limit STACK_RND_MASK for compat tasks

    For compat tasks the mmap randomization does not use the maximum
    randomization value from mmap_rnd_mask but the fixed value of 0x7ff.
    This needs to be respected in the definition of STACK_RND_MASK as
    well.
    
    Signed-off-by: Martin Schwidefsky <[email protected]>
    Martin Schwidefsky committed Mar 13, 2015
    Configuration menu
    Copy the full SHA
    e143fa9 View commit details
    Browse the repository at this point in the history
  4. blk-mq: fix use of incorrect goto label in blk_mq_init_queue error path

    If percpu_ref_init() fails the allocated q and hctxs must get cleaned
    up; using 'err_map' doesn't allow that to happen.
    
    Signed-off-by: Mike Snitzer <[email protected]>
    Reviewed-by: Ming Lei <[email protected]>
    Cc: [email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    snitm authored and axboe committed Mar 13, 2015
    Configuration menu
    Copy the full SHA
    9a30b09 View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2015

  1. MAINTAINERS: add rockchip regexp to the ARM/Rockchip entry

    The regexp option is a nice way to catch even weirder paths like the current
    drivers/gpu/drm/rockchip/* or others in the future.
    
    Signed-off-by: Heiko Stuebner <[email protected]>
    mmind committed Mar 14, 2015
    Configuration menu
    Copy the full SHA
    b4331b4 View commit details
    Browse the repository at this point in the history
  2. ARM: dts: rockchip: disable gmac by default in rk3288.dtsi

    This block should not be enabled by default or else if the kconfig is set,
    it will try to load/probe even if there's no phy connected.
    
    Signed-off-by: Alexandru M Stan <[email protected]>
    Signed-off-by: Heiko Stuebner <[email protected]>
    amstan authored and mmind committed Mar 14, 2015
    Configuration menu
    Copy the full SHA
    54b0bc6 View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2015

  1. Merge tag 'v4.0-rockchip-armfixes1' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/mmind/linux-rockchip into fixes
    
    Pull "ARM: rockchip: small fixes for 4.0-rc" from Heiko Stuebner:
    
    Adding a default-disabled state to the new gmac node and an
    update to the MAINTAINERS entry adding a rockchip regexp entry.
    
    * tag 'v4.0-rockchip-armfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
      ARM: dts: rockchip: disable gmac by default in rk3288.dtsi
      MAINTAINERS: add rockchip regexp to the ARM/Rockchip entry
    arndb committed Mar 16, 2015
    Configuration menu
    Copy the full SHA
    3034b00 View commit details
    Browse the repository at this point in the history
  2. ARM: dts: omap3: Add missing dmas for crypto

    This patch adds missing dma DTS definitions for omap aes and sham drivers.
    Without it kernel drivers do not work for device tree based booting
    while it works for legacy booting on general purpose SoCs.
    
    Note that further changes are still needed for high secure SoCs. But since
    that never worked in legacy boot mode either, those will be sent separately.
    
    Signed-off-by: Pali Rohár <[email protected]>
    Acked-by: Pavel  Machek <[email protected]>
    [[email protected]: updated comments]
    Signed-off-by: Tony Lindgren <[email protected]>
    pali authored and tmlind committed Mar 16, 2015
    Configuration menu
    Copy the full SHA
    d6e5b7c View commit details
    Browse the repository at this point in the history
  3. ARM: OMAP2+: Fix socbus family info for AM33xx devices

    The family information in the soc-bus data is currently
    not classified properly for AM33xx devices, and a read
    of /sys/bus/soc/devices/soc0/family currently shows
    "Unknown". Fix the same.
    
    Signed-off-by: Suman Anna <[email protected]>
    Signed-off-by: Tony Lindgren <[email protected]>
    sumananna authored and tmlind committed Mar 16, 2015
    Configuration menu
    Copy the full SHA
    e5ed5b6 View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2015

  1. regulator: palmas: Correct TPS659038 register definition for REGEN2

    The register offset for REGEN2_CTRL in different for TPS659038 chip as when
    compared with other Palmas family PMICs. In the case of TPS659038 the wrong
    offset pointed to PLLEN_CTRL and was causing a hang. Correcting the same.
    
    Signed-off-by: Keerthy <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Cc: [email protected]
    Keerthyj authored and broonie committed Mar 17, 2015
    Configuration menu
    Copy the full SHA
    e03826d View commit details
    Browse the repository at this point in the history
  2. ARM: OMAP: dmtimer: check for pm_runtime_get_sync() failure

    The current OMAP dmtimer probe does not check for the return
    status of pm_runtime_get_sync() before initializing the timer
    registers. Any timer with missing hwmod data would return a
    failure here, and the access of registers without enabling the
    clocks for the timer would trigger a l3_noc interrupt and a
    kernel boot hang. Add proper checking so that the probe would
    return a failure graciously without hanging the kernel boot.
    
    Signed-off-by: Suman Anna <[email protected]>
    Signed-off-by: Tony Lindgren <[email protected]>
    sumananna authored and tmlind committed Mar 17, 2015
    Configuration menu
    Copy the full SHA
    a76fc9d View commit details
    Browse the repository at this point in the history
  3. ARM: OMAP: dmtimer: disable pm runtime on remove

    Disable the pm_runtime of the device upon remove. This is
    added to balance the pm_runtime_enable() invoked in the probe.
    
    Signed-off-by: Suman Anna <[email protected]>
    Signed-off-by: Tony Lindgren <[email protected]>
    sumananna authored and tmlind committed Mar 17, 2015
    Configuration menu
    Copy the full SHA
    51b7e57 View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2015

  1. KVM: nVMX: mask unrestricted_guest if disabled on L0

    If EPT was enabled, unrestricted_guest was allowed in L1 regardless of
    L0.  L1 triple faulted when running L2 guest that required emulation.
    
    Another side effect was 'WARN_ON_ONCE(vmx->nested.nested_run_pending)'
    in L0's dmesg:
      WARNING: CPU: 0 PID: 0 at arch/x86/kvm/vmx.c:9190 nested_vmx_vmexit+0x96e/0xb00 [kvm_intel] ()
    
    Prevent this scenario by masking SECONDARY_EXEC_UNRESTRICTED_GUEST when
    the host doesn't have it enabled.
    
    Fixes: 78051e3 ("KVM: nVMX: Disable unrestricted mode if ept=0")
    Cc: [email protected]
    Tested-By: Kashyap Chamarthy <[email protected]>
    Signed-off-by: Radim Krčmář <[email protected]>
    Signed-off-by: Marcelo Tosatti <[email protected]>
    rkrcmar authored and matosatti committed Mar 18, 2015
    Configuration menu
    Copy the full SHA
    0790ec1 View commit details
    Browse the repository at this point in the history
  2. spi: trigger trace event for message-done before mesg->complete

    With spidev the mesg->complete callback points to spidev_complete.
    Calling this unblocks spidev_sync and so spidev_sync_write finishes. As
    the struct spi_message just read is a local variable in
    spidev_sync_write and recording the trace event accesses this message
    the recording is better done first. The same can happen for
    spidev_sync_read.
    
    This fixes an oops observed on a 3.14-rt system with spidev activity
    after
    
    	echo 1 > /sys/kernel/debug/tracing/events/spi/enable
    
    .
    
    Signed-off-by: Uwe Kleine-König <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Cc: [email protected]
    Uwe Kleine-König authored and broonie committed Mar 18, 2015
    Configuration menu
    Copy the full SHA
    391949b View commit details
    Browse the repository at this point in the history
  3. regulator: Fix documentation for regmap in the config

    dev_get_regulator() does not exist, fix the typo.
    
    Signed-off-by: Axel Lin <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    AxelLin authored and broonie committed Mar 18, 2015
    Configuration menu
    Copy the full SHA
    cf39284 View commit details
    Browse the repository at this point in the history
  4. ARM: dts: dra7: remove ti,hwmod property from pcie phy

    Now that we don't have hwmod entry for pcie PHY remove the
    ti,hwmod property from PCIE PHY's. Otherwise we will get:
    
    platform 4a094000.pciephy: Cannot lookup hwmod 'pcie1-phy'
    
    Signed-off-by: Kishon Vijay Abraham I <[email protected]>
    [[email protected]: updated comments]
    Signed-off-by: Tony Lindgren <[email protected]>
    kishon authored and tmlind committed Mar 18, 2015
    Configuration menu
    Copy the full SHA
    0771553 View commit details
    Browse the repository at this point in the history
  5. ARM: dts: Fix gpio interrupts for dm816x

    Commit 7800064 ("ARM: dts: Add basic dm816x device tree
    configuration") added basic devices for dm816x, but I was not able
    to test the GPIO interrupts earlier until I found some suitable pins
    to test with. We can mux the MMC card detect and write protect pins
    from SD_SDCD and SD_SDWP mode to use a normal GPIO interrupts that
    are also suitable for the MMC subsystem.
    
    This turned out several issues that need to be fixed:
    
    - I set the GPIO type wrong to be compatible with omap3 instead
      of omap4. The GPIO controller on dm816x has EOI interrupt
      register like omap4 and am335x.
    
    - I got the GPIO interrupt numbers wrong as each bank has two
      and we only use one. They need to be set up the same way as
      on am335x.
    
    - The gpio banks are missing interrupt controller related
      properties.
    
    With these changes the GPIO interrupts can be used with the
    MMC card detect pin, so let's wire that up. Let's also mux all
    the MMC lines for completeness while at it.
    
    For the first GPIO bank I tested using GPMC lines temporarily
    muxed to GPIOs on the dip switch 10.
    
    Cc: Brian Hutchinson <[email protected]>
    Cc: Matthijs van Duin <[email protected]>
    Signed-off-by: Tony Lindgren <[email protected]>
    tmlind committed Mar 18, 2015
    Configuration menu
    Copy the full SHA
    599c376 View commit details
    Browse the repository at this point in the history
  6. blkmq: Fix NULL pointer deref when all reserved tags in

    When allocating from the reserved tags pool, bt_get() is called with
    a NULL hctx.  If all tags are in use, the hw queue is kicked to push
    out any pending IO, potentially freeing tags, and tag allocation is
    retried.  The problem is that blk_mq_run_hw_queue() doesn't check for
    a NULL hctx.  So we avoid it with a simple NULL hctx test.
    
    Tested by hammering mtip32xx with concurrent smartctl/hdparm.
    
    Signed-off-by: Sam Bradshaw <[email protected]>
    Signed-off-by: Selvan Mani <[email protected]>
    Fixes: b322320 ("blk-mq: fix hang in bt_get()")
    Cc: [email protected]
    
    Added appropriate comment.
    
    Signed-off-by: Jens Axboe <[email protected]>
    sbradshawmicron authored and axboe committed Mar 18, 2015
    Configuration menu
    Copy the full SHA
    bc188d8 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2015

  1. gpiolib: translate pin number in GPIO ACPI callbacks

    If GPIO driver use pin mapping, need to translate pin number
    between ACPI table and GPIO driver.
    
    This issue is found on one platform with Cherryview gpio
    controller, kernel is hang when executed _PS0 method of
    one ACPI device, since without this translation, it access
    invalid gpiodesc array.
    
    Verified it works again with this patch.
    
    Signed-off-by: qipeng.zha <[email protected]>
    Acked-by: Mika Westerberg <[email protected]>
    Signed-off-by: Linus Walleij <[email protected]>
    qipengzha authored and linusw committed Mar 19, 2015
    Configuration menu
    Copy the full SHA
    4de6097 View commit details
    Browse the repository at this point in the history
  2. ARM: socfpga: dts: fix spi1 interrupt

    The socfpga.dtsi currently has the wrong interrupt number set for SPI master 1
    Trying to use the master without this change results in the kernel boot
    process waiting forever for an interrupt that will never occur while
    attempting to probe any slave devices configured in the device tree as being
    under SPI master 1.
    
    The change works for the Cyclone V, and according to the Arria 5 handbook
    should be good there too.
    
    Signed-off-by: Mark James <[email protected]>
    Acked-by: Steffen Trumtrar <[email protected]>
    Signed-off-by: Dinh Nguyen <[email protected]>
    Mark James authored and Dinh Nguyen committed Mar 19, 2015
    Configuration menu
    Copy the full SHA
    1ac31de View commit details
    Browse the repository at this point in the history
  3. selftests: Fix build failures when invoked from kselftest target

    Several tests that rely on implicit build rules fail to build,
    when invoked from the main Makefile kselftest target. These
    failures are due to --no-builtin-rules and --no-builtin-variables
    options set in the inherited MAKEFLAGS.
    
    --no-builtin-rules eliminates the use of built-in implicit rules
    and --no-builtin-variables is for not defining built-in variables.
    These two options override the use of implicit rules resulting in
    build failures. In addition, inherited LDFLAGS result in build
    failures and there is no need to define LDFLAGS.  Clear LDFLAGS
    and MAKEFLAG when make is invoked from the main Makefile kselftest
    target. Fixing this at selftests Makefile avoids changing the main
    Makefile and keeps this change self contained at selftests level.
    
    Signed-off-by: Shuah Khan <[email protected]>
    Acked-by: Michael Ellerman <[email protected]>
    Shuah Khan committed Mar 19, 2015
    Configuration menu
    Copy the full SHA
    67d8712 View commit details
    Browse the repository at this point in the history
  4. ata: Add a new flag to destinguish sas controller

    SAS controller has its own tag allocation, which doesn't directly match to ATA
    tag, so SAS and SATA have different code path for ata tags. Originally we use
    port->scsi_host (98bd4be) to destinguish SAS controller, but libsas set
    ->scsi_host too, so we can't use it for the destinguish, we add a new flag for
    this purpose.
    
    Without this patch, the following oops can happen because scsi-mq uses
    a host-wide tag map shared among all devices with some integer tag
    values >= ATA_MAX_QUEUE.  These unexpectedly high tag values cause
    __ata_qc_from_tag() to return NULL, which is then dereferenced in
    ata_qc_new_init().
    
      BUG: unable to handle kernel NULL pointer dereference at 0000000000000058
      IP: [<ffffffff804fd46e>] ata_qc_new_init+0x3e/0x120
      PGD 32adf0067 PUD 32adf1067 PMD 0
      Oops: 0002 [#1] SMP DEBUG_PAGEALLOC
      Modules linked in: iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi igb
      i2c_algo_bit ptp pps_core pm80xx libsas scsi_transport_sas sg coretemp
      eeprom w83795 i2c_i801
      CPU: 4 PID: 1450 Comm: cydiskbench Not tainted 4.0.0-rc3 #1
      Hardware name: Supermicro X8DTH-i/6/iF/6F/X8DTH, BIOS 2.1b       05/04/12
      task: ffff8800ba86d500 ti: ffff88032a064000 task.ti: ffff88032a064000
      RIP: 0010:[<ffffffff804fd46e>]  [<ffffffff804fd46e>] ata_qc_new_init+0x3e/0x120
      RSP: 0018:ffff88032a067858  EFLAGS: 00010046
      RAX: 0000000000000000 RBX: ffff8800ba0d2230 RCX: 000000000000002a
      RDX: ffffffff80505ae0 RSI: 0000000000000020 RDI: ffff8800ba0d2230
      RBP: ffff88032a067868 R08: 0000000000000201 R09: 0000000000000001
      R10: 0000000000000000 R11: 0000000000000000 R12: ffff8800ba0d0000
      R13: ffff8800ba0d2230 R14: ffffffff80505ae0 R15: ffff8800ba0d0000
      FS:  0000000041223950(0063) GS:ffff88033e480000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      CR2: 0000000000000058 CR3: 000000032a0a3000 CR4: 00000000000006e0
      Stack:
       ffff880329eee758 ffff880329eee758 ffff88032a0678a8 ffffffff80502dad
       ffff8800ba167978 ffff880329eee758 ffff88032bf9c520 ffff8800ba167978
       ffff88032bf9c520 ffff88032bf9a290 ffff88032a0678b8 ffffffff80506909
      Call Trace:
       [<ffffffff80502dad>] ata_scsi_translate+0x3d/0x1b0
       [<ffffffff80506909>] ata_sas_queuecmd+0x149/0x2a0
       [<ffffffffa0046650>] sas_queuecommand+0xa0/0x1f0 [libsas]
       [<ffffffff804ea544>] scsi_dispatch_cmd+0xd4/0x1a0
       [<ffffffff804eb50f>] scsi_queue_rq+0x66f/0x7f0
       [<ffffffff803e5098>] __blk_mq_run_hw_queue+0x208/0x3f0
       [<ffffffff803e54b8>] blk_mq_run_hw_queue+0x88/0xc0
       [<ffffffff803e5c74>] blk_mq_insert_request+0xc4/0x130
       [<ffffffff803e0b63>] blk_execute_rq_nowait+0x73/0x160
       [<ffffffffa0023fca>] sg_common_write+0x3da/0x720 [sg]
       [<ffffffffa0025100>] sg_new_write+0x250/0x360 [sg]
       [<ffffffffa0025feb>] sg_write+0x13b/0x450 [sg]
       [<ffffffff8032ec91>] vfs_write+0xd1/0x1b0
       [<ffffffff8032ee54>] SyS_write+0x54/0xc0
       [<ffffffff80689932>] system_call_fastpath+0x12/0x17
    
    tj: updated description.
    
    Fixes: 12cb5ce ("libata: use blk taging")
    Reported-and-tested-by: Tony Battersby <[email protected]>
    Signed-off-by: Shaohua Li <[email protected]>
    Signed-off-by: Tejun Heo <[email protected]>
    shligit authored and htejun committed Mar 19, 2015
    Configuration menu
    Copy the full SHA
    5067c04 View commit details
    Browse the repository at this point in the history
  5. regmap: introduce regmap_name to fix syscon regmap trace events

    This patch fixes a NULL pointer dereference when enabling regmap event
    tracing in the presence of a syscon regmap, introduced by commit bdb0066
    ("mfd: syscon: Decouple syscon interface from platform devices").
    That patch introduced syscon regmaps that have their dev field set to NULL.
    The regmap trace events expect it to point to a valid struct device and feed
    it to dev_name():
    
      $ echo 1 > /sys/kernel/debug/tracing/events/regmap/enable
    
      Unable to handle kernel NULL pointer dereference at virtual address 0000002c
      pgd = 80004000
      [0000002c] *pgd=00000000
      Internal error: Oops: 17 [#1] SMP ARM
      Modules linked in: coda videobuf2_vmalloc
      CPU: 0 PID: 304 Comm: kworker/0:2 Not tainted 4.0.0-rc2+ #9197
      Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
      Workqueue: events_freezable thermal_zone_device_check
      task: 9f25a200 ti: 9f1ee000 task.ti: 9f1ee000
      PC is at ftrace_raw_event_regmap_block+0x3c/0xe4
      LR is at _regmap_raw_read+0x1bc/0x1cc
      pc : [<803636e8>]    lr : [<80365f2c>]    psr: 600f0093
      sp : 9f1efd78  ip : 9f1efdb8  fp : 9f1efdb4
      r10: 00000004  r9 : 00000001  r8 : 00000001
      r7 : 00000180  r6 : 00000000  r5 : 9f00e3c0  r4 : 00000003
      r3 : 00000001  r2 : 00000180  r1 : 00000000  r0 : 9f00e3c0
      Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      Control: 10c5387d  Table: 2d91004a  DAC: 00000015
      Process kworker/0:2 (pid: 304, stack limit = 0x9f1ee210)
      Stack: (0x9f1efd78 to 0x9f1f0000)
      fd60:                                                       9f1efda4 9f1efd88
      fd80: 800708c0 805f9510 80927140 800f0013 9f1fc800 9eb2f490 00000000 00000180
      fda0: 808e3840 00000001 9f1efdfc 9f1efdb8 80365f2c 803636b8 805f8958 800708e0
      fdc0: a00f0013 803636ac 9f16de00 00000180 80927140 9f1fc800 9f1fc800 9f1efe6c
      fde0: 9f1efe6c 9f732400 00000000 00000000 9f1efe1c 9f1efe00 80365f70 80365d7c
      fe00: 80365f3c 9f1fc800 9f1fc800 00000180 9f1efe44 9f1efe20 803656a4 80365f48
      fe20: 9f1fc800 00000180 9f1efe6c 9f1efe6c 9f732400 00000000 9f1efe64 9f1efe48
      fe40: 803657bc 80365634 00000001 9e95f910 9f1fc800 9f1efeb4 9f1efe8c 9f1efe68
      fe60: 80452ac0 80365778 9f1efe8c 9f1efe78 9e93d400 9e93d5e8 9f1efeb4 9f72ef40
      fe80: 9f1efeac 9f1efe90 8044e11c 80452998 8045298c 9e93d608 9e93d400 808e1978
      fea0: 9f1efecc 9f1efeb0 8044fd14 8044e0d0 ffffffff 9f25a200 9e93d608 9e481380
      fec0: 9f1efedc 9f1efed0 8044fde8 8044fcec 9f1eff1c 9f1efee0 80038d50 8044fdd8
      fee0: 9f1ee020 9f72ef40 9e481398 00000000 00000008 9f72ef54 9f1ee020 9f72ef40
      ff00: 9e481398 9e481380 00000008 9f72ef40 9f1eff5c 9f1eff20 80039754 80038bfc
      ff20: 00000000 9e481380 80894100 808e1662 00000000 9e4f2ec0 00000000 9e481380
      ff40: 800396f8 00000000 00000000 00000000 9f1effac 9f1eff60 8003e020 80039704
      ff60: ffffffff 00000000 ffffffff 9e481380 00000000 00000000 9f1eff78 9f1eff78
      ff80: 00000000 00000000 9f1eff88 9f1eff88 9e4f2ec0 8003df30 00000000 00000000
      ffa0: 00000000 9f1effb0 8000eb60 8003df3c 00000000 00000000 00000000 00000000
      ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 ffffffff ffffffff
      Backtrace:
      [<803636ac>] (ftrace_raw_event_regmap_block) from [<80365f2c>] (_regmap_raw_read+0x1bc/0x1cc)
       r9:00000001 r8:808e3840 r7:00000180 r6:00000000 r5:9eb2f490 r4:9f1fc800
      [<80365d70>] (_regmap_raw_read) from [<80365f70>] (_regmap_bus_read+0x34/0x6c)
       r10:00000000 r9:00000000 r8:9f732400 r7:9f1efe6c r6:9f1efe6c r5:9f1fc800
       r4:9f1fc800
      [<80365f3c>] (_regmap_bus_read) from [<803656a4>] (_regmap_read+0x7c/0x144)
       r6:00000180 r5:9f1fc800 r4:9f1fc800 r3:80365f3c
      [<80365628>] (_regmap_read) from [<803657bc>] (regmap_read+0x50/0x70)
       r9:00000000 r8:9f732400 r7:9f1efe6c r6:9f1efe6c r5:00000180 r4:9f1fc800
      [<8036576c>] (regmap_read) from [<80452ac0>] (imx_get_temp+0x134/0x1a4)
       r6:9f1efeb4 r5:9f1fc800 r4:9e95f910 r3:00000001
      [<8045298c>] (imx_get_temp) from [<8044e11c>] (thermal_zone_get_temp+0x58/0x74)
       r7:9f72ef40 r6:9f1efeb4 r5:9e93d5e8 r4:9e93d400
      [<8044e0c4>] (thermal_zone_get_temp) from [<8044fd14>] (thermal_zone_device_update+0x34/0xec)
       r6:808e1978 r5:9e93d400 r4:9e93d608 r3:8045298c
      [<8044fce0>] (thermal_zone_device_update) from [<8044fde8>] (thermal_zone_device_check+0x1c/0x20)
       r5:9e481380 r4:9e93d608
      [<8044fdcc>] (thermal_zone_device_check) from [<80038d50>] (process_one_work+0x160/0x3d4)
      [<80038bf0>] (process_one_work) from [<80039754>] (worker_thread+0x5c/0x4f4)
       r10:9f72ef40 r9:00000008 r8:9e481380 r7:9e481398 r6:9f72ef40 r5:9f1ee020
       r4:9f72ef54
      [<800396f8>] (worker_thread) from [<8003e020>] (kthread+0xf0/0x108)
       r10:00000000 r9:00000000 r8:00000000 r7:800396f8 r6:9e481380 r5:00000000
       r4:9e4f2ec0
      [<8003df30>] (kthread) from [<8000eb60>] (ret_from_fork+0x14/0x34)
       r7:00000000 r6:00000000 r5:8003df30 r4:9e4f2ec0
      Code: e3140040 1a00001a e3140020 1a000016 (e596002c)
      ---[ end trace 193c15c2494ec960 ]---
    
    Fixes: bdb0066 (mfd: syscon: Decouple syscon interface from platform devices)
    Signed-off-by: Philipp Zabel <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Cc: [email protected]
    pH5 authored and broonie committed Mar 19, 2015
    Configuration menu
    Copy the full SHA
    c6b570d View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2015

  1. powerpc/powernv: Fixes for hypervisor doorbell handling

    Since we can now use hypervisor doorbells for host IPIs, this makes
    sure we clear the host IPI flag when taking a doorbell interrupt, and
    clears any pending doorbell IPI in pnv_smp_cpu_kill_self() (as we
    already do for IPIs sent via the XICS interrupt controller).  Otherwise
    if there did happen to be a leftover pending doorbell interrupt for
    an offline CPU thread for any reason, it would prevent that thread from
    going into a power-saving mode; it would instead keep waking up because
    of the interrupt.
    
    Signed-off-by: Paul Mackerras <[email protected]>
    Signed-off-by: Michael Ellerman <[email protected]>
    paulusmack authored and mpe committed Mar 20, 2015
    Configuration menu
    Copy the full SHA
    755563b View commit details
    Browse the repository at this point in the history
  2. powerpc: Add PVR for POWER8NVL processor

    There's a new variant of POWER8 coming called "POWER8 with NVLink". The
    core is identical to POWER8 but unfortunately they strapped it with a
    different PVR, so we need to add an explicit entry for it.
    
    Signed-off-by: Benjamin Herrenschmidt <[email protected]>
    Signed-off-by: Michael Ellerman <[email protected]>
    ozbenh authored and mpe committed Mar 20, 2015
    Configuration menu
    Copy the full SHA
    ddee09c View commit details
    Browse the repository at this point in the history
  3. powerpc/pseries: Little endian fixes for post mobility device tree up…

    …date
    
    We currently use the device tree update code in the kernel after resuming
    from a suspend operation to re-sync the kernels view of the device tree with
    that of the hypervisor. The code as it stands is not endian safe as it relies
    on parsing buffers returned by RTAS calls that thusly contains data in big
    endian format.
    
    This patch annotates variables and structure members with __be types as well
    as performing necessary byte swaps to cpu endian for data that needs to be
    parsed.
    
    Signed-off-by: Tyrel Datwyler <[email protected]>
    Cc: Nathan Fontenot <[email protected]>
    Cc: Cyril Bur <[email protected]>
    Cc: [email protected]
    Signed-off-by: Michael Ellerman <[email protected]>
    Tyrel Datwyler authored and mpe committed Mar 20, 2015
    Configuration menu
    Copy the full SHA
    f6ff041 View commit details
    Browse the repository at this point in the history
  4. KVM: PPC: Book3S HV: Fix spinlock/mutex ordering issue in kvmppc_set_…

    …lpcr()
    
    Currently, kvmppc_set_lpcr() has a spinlock around the whole function,
    and inside that does mutex_lock(&kvm->lock).  It is not permitted to
    take a mutex while holding a spinlock, because the mutex_lock might
    call schedule().  In addition, this causes lockdep to warn about a
    lock ordering issue:
    
    ======================================================
    [ INFO: possible circular locking dependency detected ]
    3.18.0-kvm-04645-gdfea862-dirty #131 Not tainted
    -------------------------------------------------------
    qemu-system-ppc/8179 is trying to acquire lock:
     (&kvm->lock){+.+.+.}, at: [<d00000000ecc1f54>] .kvmppc_set_lpcr+0xf4/0x1c0 [kvm_hv]
    
    but task is already holding lock:
     (&(&vcore->lock)->rlock){+.+...}, at: [<d00000000ecc1ea0>] .kvmppc_set_lpcr+0x40/0x1c0 [kvm_hv]
    
    which lock already depends on the new lock.
    
    the existing dependency chain (in reverse order) is:
    
    -> #1 (&(&vcore->lock)->rlock){+.+...}:
           [<c000000000b3c120>] .mutex_lock_nested+0x80/0x570
           [<d00000000ecc7a14>] .kvmppc_vcpu_run_hv+0xc4/0xe40 [kvm_hv]
           [<d00000000eb9f5cc>] .kvmppc_vcpu_run+0x2c/0x40 [kvm]
           [<d00000000eb9cb24>] .kvm_arch_vcpu_ioctl_run+0x54/0x160 [kvm]
           [<d00000000eb94478>] .kvm_vcpu_ioctl+0x4a8/0x7b0 [kvm]
           [<c00000000026cbb4>] .do_vfs_ioctl+0x444/0x770
           [<c00000000026cfa4>] .SyS_ioctl+0xc4/0xe0
           [<c000000000009264>] syscall_exit+0x0/0x98
    
    -> #0 (&kvm->lock){+.+.+.}:
           [<c0000000000ff28c>] .lock_acquire+0xcc/0x1a0
           [<c000000000b3c120>] .mutex_lock_nested+0x80/0x570
           [<d00000000ecc1f54>] .kvmppc_set_lpcr+0xf4/0x1c0 [kvm_hv]
           [<d00000000ecc510c>] .kvmppc_set_one_reg_hv+0x4dc/0x990 [kvm_hv]
           [<d00000000eb9f234>] .kvmppc_set_one_reg+0x44/0x330 [kvm]
           [<d00000000eb9c9dc>] .kvm_vcpu_ioctl_set_one_reg+0x5c/0x150 [kvm]
           [<d00000000eb9ced4>] .kvm_arch_vcpu_ioctl+0x214/0x2c0 [kvm]
           [<d00000000eb940b0>] .kvm_vcpu_ioctl+0xe0/0x7b0 [kvm]
           [<c00000000026cbb4>] .do_vfs_ioctl+0x444/0x770
           [<c00000000026cfa4>] .SyS_ioctl+0xc4/0xe0
           [<c000000000009264>] syscall_exit+0x0/0x98
    
    other info that might help us debug this:
    
     Possible unsafe locking scenario:
    
           CPU0                    CPU1
           ----                    ----
      lock(&(&vcore->lock)->rlock);
                                   lock(&kvm->lock);
                                   lock(&(&vcore->lock)->rlock);
      lock(&kvm->lock);
    
     *** DEADLOCK ***
    
    2 locks held by qemu-system-ppc/8179:
     #0:  (&vcpu->mutex){+.+.+.}, at: [<d00000000eb93f18>] .vcpu_load+0x28/0x90 [kvm]
     #1:  (&(&vcore->lock)->rlock){+.+...}, at: [<d00000000ecc1ea0>] .kvmppc_set_lpcr+0x40/0x1c0 [kvm_hv]
    
    stack backtrace:
    CPU: 4 PID: 8179 Comm: qemu-system-ppc Not tainted 3.18.0-kvm-04645-gdfea862-dirty #131
    Call Trace:
    [c000001a66c0f310] [c000000000b486ac] .dump_stack+0x88/0xb4 (unreliable)
    [c000001a66c0f390] [c0000000000f8bec] .print_circular_bug+0x27c/0x3d0
    [c000001a66c0f440] [c0000000000fe9e8] .__lock_acquire+0x2028/0x2190
    [c000001a66c0f5d0] [c0000000000ff28c] .lock_acquire+0xcc/0x1a0
    [c000001a66c0f6a0] [c000000000b3c120] .mutex_lock_nested+0x80/0x570
    [c000001a66c0f7c0] [d00000000ecc1f54] .kvmppc_set_lpcr+0xf4/0x1c0 [kvm_hv]
    [c000001a66c0f860] [d00000000ecc510c] .kvmppc_set_one_reg_hv+0x4dc/0x990 [kvm_hv]
    [c000001a66c0f8d0] [d00000000eb9f234] .kvmppc_set_one_reg+0x44/0x330 [kvm]
    [c000001a66c0f960] [d00000000eb9c9dc] .kvm_vcpu_ioctl_set_one_reg+0x5c/0x150 [kvm]
    [c000001a66c0f9f0] [d00000000eb9ced4] .kvm_arch_vcpu_ioctl+0x214/0x2c0 [kvm]
    [c000001a66c0faf0] [d00000000eb940b0] .kvm_vcpu_ioctl+0xe0/0x7b0 [kvm]
    [c000001a66c0fcb0] [c00000000026cbb4] .do_vfs_ioctl+0x444/0x770
    [c000001a66c0fd90] [c00000000026cfa4] .SyS_ioctl+0xc4/0xe0
    [c000001a66c0fe30] [c000000000009264] syscall_exit+0x0/0x98
    
    This fixes it by moving the mutex_lock()/mutex_unlock() pair outside
    the spin-locked region.
    
    Signed-off-by: Paul Mackerras <[email protected]>
    Signed-off-by: Alexander Graf <[email protected]>
    paulusmack authored and agraf committed Mar 20, 2015
    Configuration menu
    Copy the full SHA
    8f902b0 View commit details
    Browse the repository at this point in the history
  5. KVM: PPC: Book3S HV: Endian fix for accessing VPA yield count

    The VPA (virtual processor area) is defined by PAPR and is therefore
    big-endian, so we need a be32_to_cpu when reading it in
    kvmppc_get_yield_count().  Without this, H_CONFER always fails on a
    little-endian host, causing SMP guests to waste time spinning on
    spinlocks.
    
    Signed-off-by: Paul Mackerras <[email protected]>
    Signed-off-by: Alexander Graf <[email protected]>
    paulusmack authored and agraf committed Mar 20, 2015
    Configuration menu
    Copy the full SHA
    ecb6d61 View commit details
    Browse the repository at this point in the history
  6. KVM: PPC: Book3S HV: Fix instruction emulation

    Commit 4a157d6 ("KVM: PPC: Book3S HV: Fix endianness of
    instruction obtained from HEIR register") had the side effect that
    we no longer reset vcpu->arch.last_inst to -1 on guest exit in
    the cases where the instruction is not fetched from the guest.
    This means that if instruction emulation turns out to be required
    in those cases, the host will emulate the wrong instruction, since
    vcpu->arch.last_inst will contain the last instruction that was
    emulated.
    
    This fixes it by making sure that vcpu->arch.last_inst is reset
    to -1 in those cases.
    
    Signed-off-by: Paul Mackerras <[email protected]>
    Signed-off-by: Alexander Graf <[email protected]>
    paulusmack authored and agraf committed Mar 20, 2015
    Configuration menu
    Copy the full SHA
    2bf2760 View commit details
    Browse the repository at this point in the history
  7. Fix bug in blk_rq_merge_ok

    Use the right array index to reference the last
    element of rq->biotail->bi_io_vec[]
    
    Signed-off-by: Wenbo Wang <[email protected]>
    Reviewed-by: Chong Yuan <[email protected]>
    Fixes: 66cb45a ("block: add support for limiting gaps in SG lists")
    Cc: [email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    Wenbo Wang authored and axboe committed Mar 20, 2015
    Configuration menu
    Copy the full SHA
    7ee8e4f View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2015

  1. powerpc/book3s: Fix the MCE code to use CONFIG_KVM_BOOK3S_64_HANDLER

    commit id 2ba9f0d has changed CONFIG_KVM_BOOK3S_64_HV to tristate to allow
    HV/PR bits to be built as modules. But the MCE code still depends on
    CONFIG_KVM_BOOK3S_64_HV which is wrong. When user selects
    CONFIG_KVM_BOOK3S_64_HV=m to build HV/PR bits as a separate module the
    relevant MCE code gets excluded.
    
    This patch fixes the MCE code to use CONFIG_KVM_BOOK3S_64_HANDLER. This
    makes sure that the relevant MCE code is included when HV/PR bits
    are built as a separate modules.
    
    Fixes: 2ba9f0d ("kvm: powerpc: book3s: Support building HV and PR KVM as module")
    Cc: [email protected]  # v3.14+
    Signed-off-by: Mahesh Salgaonkar <[email protected]>
    Acked-by: Paul Mackerras <[email protected]>
    Signed-off-by: Michael Ellerman <[email protected]>
    maheshsal authored and mpe committed Mar 23, 2015
    Configuration menu
    Copy the full SHA
    44d5f6f View commit details
    Browse the repository at this point in the history
  2. perf: Fix irq_work 'tail' recursion

    Vince reported a watchdog lockup like:
    
    	[<ffffffff8115e114>] perf_tp_event+0xc4/0x210
    	[<ffffffff810b4f8a>] perf_trace_lock+0x12a/0x160
    	[<ffffffff810b7f10>] lock_release+0x130/0x260
    	[<ffffffff816c7474>] _raw_spin_unlock_irqrestore+0x24/0x40
    	[<ffffffff8107bb4d>] do_send_sig_info+0x5d/0x80
    	[<ffffffff811f69df>] send_sigio_to_task+0x12f/0x1a0
    	[<ffffffff811f71ce>] send_sigio+0xae/0x100
    	[<ffffffff811f72b7>] kill_fasync+0x97/0xf0
    	[<ffffffff8115d0b4>] perf_event_wakeup+0xd4/0xf0
    	[<ffffffff8115d103>] perf_pending_event+0x33/0x60
    	[<ffffffff8114e3fc>] irq_work_run_list+0x4c/0x80
    	[<ffffffff8114e448>] irq_work_run+0x18/0x40
    	[<ffffffff810196af>] smp_trace_irq_work_interrupt+0x3f/0xc0
    	[<ffffffff816c99bd>] trace_irq_work_interrupt+0x6d/0x80
    
    Which is caused by an irq_work generating new irq_work and therefore
    not allowing forward progress.
    
    This happens because processing the perf irq_work triggers another
    perf event (tracepoint stuff) which in turn generates an irq_work ad
    infinitum.
    
    Avoid this by raising the recursion counter in the irq_work -- which
    effectively disables all software events (including tracepoints) from
    actually triggering again.
    
    Reported-by: Vince Weaver <[email protected]>
    Tested-by: Vince Weaver <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Cc: Paul Mackerras <[email protected]>
    Cc: Steven Rostedt <[email protected]>
    Cc: <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Peter Zijlstra authored and Ingo Molnar committed Mar 23, 2015
    Configuration menu
    Copy the full SHA
    d525211 View commit details
    Browse the repository at this point in the history
  3. sched: Fix RLIMIT_RTTIME when PI-boosting to RT

    When non-realtime tasks get priority-inheritance boosted to a realtime
    scheduling class, RLIMIT_RTTIME starts to apply to them. However, the
    counter used for checking this (the same one used for SCHED_RR
    timeslices) was not getting reset. This meant that tasks running with a
    non-realtime scheduling class which are repeatedly boosted to a realtime
    one, but never block while they are running realtime, eventually hit the
    timeout without ever running for a time over the limit. This patch
    resets the realtime timeslice counter when un-PI-boosting from an RT to
    a non-RT scheduling class.
    
    I have some test code with two threads and a shared PTHREAD_PRIO_INHERIT
    mutex which induces priority boosting and spins while boosted that gets
    killed by a SIGXCPU on non-fixed kernels but doesn't with this patch
    applied. It happens much faster with a CONFIG_PREEMPT_RT kernel, and
    does happen eventually with PREEMPT_VOLUNTARY kernels.
    
    Signed-off-by: Brian Silverman <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: [email protected]
    Cc: <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    brian-peloton authored and Ingo Molnar committed Mar 23, 2015
    Configuration menu
    Copy the full SHA
    746db94 View commit details
    Browse the repository at this point in the history
  4. lockdep: Fix the module unload key range freeing logic

    Module unload calls lockdep_free_key_range(), which removes entries
    from the data structures. Most of the lockdep code OTOH assumes the
    data structures are append only; in specific see the comments in
    add_lock_to_list() and look_up_lock_class().
    
    Clearly this has only worked by accident; make it work proper. The
    actual scenario to make it go boom would involve the memory freed by
    the module unlock being re-allocated and re-used for a lock inside of
    a rcu-sched grace period. This is a very unlikely scenario, still
    better plug the hole.
    
    Use RCU list iteration in all places and ammend the comments.
    
    Change lockdep_free_key_range() to issue a sync_sched() between
    removal from the lists and returning -- which results in the memory
    being freed. Further ensure the callers are placed correctly and
    comment the requirements.
    
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: Andrew Morton <[email protected]>
    Cc: Andrey Tsyvarev <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Paul E. McKenney <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Rusty Russell <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Signed-off-by: Ingo Molnar <[email protected]>
    Peter Zijlstra authored and Ingo Molnar committed Mar 23, 2015
    Configuration menu
    Copy the full SHA
    35a9393 View commit details
    Browse the repository at this point in the history
  5. timers/tick/broadcast-hrtimer: Fix suspicious RCU usage in idle loop

    The hrtimer mode of broadcast queues hrtimers in the idle entry
    path so as to wakeup cpus in deep idle states. The associated
    call graph is :
    
    	cpuidle_idle_call()
    	|____ clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER, ....))
    	     |_____tick_broadcast_set_event()
    		   |____clockevents_program_event()
    			|____bc_set_next()
    
    The hrtimer_{start/cancel} functions call into tracing which uses RCU.
    But it is not legal to call into RCU in cpuidle because it is one of the
    quiescent states. Hence protect this region with RCU_NONIDLE which informs
    RCU that the cpu is momentarily non-idle.
    
    As an aside it is helpful to point out that the clock event device that is
    programmed here is not a per-cpu clock device; it is a
    pseudo clock device, used by the broadcast framework alone.
    The per-cpu clock device programming never goes through bc_set_next().
    
    Signed-off-by: Preeti U Murthy <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Reviewed-by: Paul E. McKenney <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Preeti U Murthy authored and Ingo Molnar committed Mar 23, 2015
    Configuration menu
    Copy the full SHA
    a127d2b View commit details
    Browse the repository at this point in the history
  6. parisc: Add compile-time check when adding new syscalls

    Signed-off-by: Helge Deller <[email protected]>
    hdeller committed Mar 23, 2015
    Configuration menu
    Copy the full SHA
    47514da View commit details
    Browse the repository at this point in the history
  7. parisc: mm: don't count preallocated pmds

    The patch dc6c9a3 that counts pmds
    allocated for a process introduced a bug on 64-bit PA-RISC kernels.
    
    The PA-RISC architecture preallocates one pmd with each pgd. This
    preallocated pmd can never be freed - pmd_free does nothing when it is
    called with this pmd. When the kernel attempts to free this preallocated
    pmd, it decreases the count of allocated pmds. The result is that the
    counter underflows and this error is reported.
    
    This patch fixes the bug by artifically incrementing the counter in
    pmd_free when the kernel tries to free the preallocated pmd.
    
    Signed-off-by: Mikulas Patocka <[email protected]>
    Acked-by: Kirill A. Shutemov <[email protected]>
    Signed-off-by: Helge Deller <[email protected]>
    Mikulas Patocka authored and hdeller committed Mar 23, 2015
    Configuration menu
    Copy the full SHA
    0e0da48 View commit details
    Browse the repository at this point in the history
  8. parisc: Fix pmd code to depend on PT_NLEVELS value, not on CONFIG_64BIT

    Make the code which sets up the pmd depend on PT_NLEVELS == 3, not on
    CONFIG_64BIT. The reason is, that a 64bit kernel with a page size
    greater than 4k doesn't need the pmd and thus has PT_NLEVELS = 2.
    
    Signed-off-by: Helge Deller <[email protected]>
    hdeller committed Mar 23, 2015
    Configuration menu
    Copy the full SHA
    2e3f0ab View commit details
    Browse the repository at this point in the history
  9. metag: Fix ioremap_wc/ioremap_cached build errors

    When ioremap_wc() or ioremap_cached() are used without first including
    asm/pgtable.h, the _PAGE_CACHEABLE or _PAGE_WR_COMBINE definitions
    aren't found, resulting in build errors like the following (in
    next-20150323 due to "lib: devres: add a helper function for
    ioremap_wc"):
    
    lib/devres.c: In function ‘devm_ioremap_wc’:
    lib/devres.c:91: error: ‘_PAGE_WR_COMBINE’ undeclared
    
    We can't easily include asm/pgtable.h in asm/io.h due to dependency
    problems, so split out the _PAGE_* definitions from asm/pgtable.h into a
    separate asm/pgtable-bits.h header (as a couple of other architectures
    already do), and include that in io.h instead.
    
    Signed-off-by: James Hogan <[email protected]>
    Cc: [email protected]
    Cc: Abhilash Kesavan <[email protected]>
    Cc: Greg Kroah-Hartman <[email protected]>
    James Hogan committed Mar 23, 2015
    Configuration menu
    Copy the full SHA
    0164a71 View commit details
    Browse the repository at this point in the history
  10. NVMe: Initialize device list head before starting

    Driver recovery requires the device's list node to have been initialized.
    
    Fixes: https://lkml.org/lkml/2015/3/22/262
    
    Reported-by: Steven Noonan <[email protected]>
    Signed-off-by: Keith Busch <[email protected]>
    Cc: Matthew Wilcox <[email protected]>
    Cc: Jens Axboe <[email protected]>
    Signed-off-by: Jens Axboe <[email protected]>
    Keith Busch authored and axboe committed Mar 23, 2015
    Configuration menu
    Copy the full SHA
    e6e96d7 View commit details
    Browse the repository at this point in the history
  11. writeback: fix possible underflow in write bandwidth calculation

    From 1ebf339 Mon Sep 17 00:00:00 2001
    From: Tejun Heo <[email protected]>
    Date: Mon, 23 Mar 2015 00:08:19 -0400
    
    2f800fb ("writeback: fix dirtied pages accounting on redirty")
    introduced account_page_redirty() which reverts stat updates for a
    redirtied page, making BDI_DIRTIED no longer monotonically increasing.
    
    bdi_update_write_bandwidth() uses the delta in BDI_DIRTIED as the
    basis for bandwidth calculation.  While unlikely, since the above
    patch, the newer value may be lower than the recorded past value and
    underflow the bandwidth calculation leading to a wild result.
    
    Fix it by subtracing min of the old and new values when calculating
    delta.  AFAIK, there hasn't been any report of it happening but the
    resulting erratic behavior would be non-critical and temporary, so
    it's possible that the issue is happening without being reported.  The
    risk of the fix is very low, so tagged for -stable.
    
    Signed-off-by: Tejun Heo <[email protected]>
    Cc: Jens Axboe <[email protected]>
    Cc: Jan Kara <[email protected]>
    Cc: Wu Fengguang <[email protected]>
    Cc: Greg Thelen <[email protected]>
    Fixes: 2f800fb ("writeback: fix dirtied pages accounting on redirty")
    Cc: [email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    htejun authored and axboe committed Mar 23, 2015
    Configuration menu
    Copy the full SHA
    c72efb6 View commit details
    Browse the repository at this point in the history
  12. ALSA: hda - Add dock support for Thinkpad T450s (17aa:5036)

    This model uses the same dock port as the previous generation.
    
    Signed-off-by: Sebastian Wicki <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Takashi Iwai <[email protected]>
    gandro authored and tiwai committed Mar 23, 2015
    Configuration menu
    Copy the full SHA
    80b311d View commit details
    Browse the repository at this point in the history
  13. arm64: Use the reserved TTBR0 if context switching to the init_mm

    The idle_task_exit() function may call switch_mm() with next ==
    &init_mm. On arm64, init_mm.pgd cannot be used for user mappings, so
    this patch simply sets the reserved TTBR0.
    
    Cc: <[email protected]>
    Reported-by: Jon Medhurst (Tixy) <[email protected]>
    Tested-by: Jon Medhurst (Tixy) <[email protected]>
    Signed-off-by: Catalin Marinas <[email protected]>
    ctmarinas committed Mar 23, 2015
    Configuration menu
    Copy the full SHA
    e53f21b View commit details
    Browse the repository at this point in the history
  14. Merge remote-tracking branches 'regulator/fix/doc' and 'regulator/fix…

    …/palmas' into regulator-linus
    broonie committed Mar 23, 2015
    Configuration menu
    Copy the full SHA
    1401990 View commit details
    Browse the repository at this point in the history
  15. dm: fix add_disk() NULL pointer due to race with free_dev()

    Commit c4db59d ("fs: don't reassign dirty inodes to
    default_backing_dev_info") exposed DM to a latent race in free_dev() vs
    add_disk() in relation to management of the device's minor number.
    
    Fix this by refactoring free_dev() to match cleanup order of the
    alloc_dev() error path.  Move cleanup of the gendisk, queue, and bdev
    to _before_ the cleanup of the idr managed minor number.
    
    Also, purely due to cleanup that fell out during the free_dev() audit:
    - adjust dm_blk_close() to access the gendisk's private_data under
      the _minor_lock spinlock.
    - move __dm_destroy()'s dm_get_live_table() call out from under the
      _minor_lock spinlock.
    
    Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1202449
    
    Reported-by: Zdenek Kabelac <[email protected]>
    Reported-by: Jeff Moyer <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    snitm committed Mar 23, 2015
    Configuration menu
    Copy the full SHA
    63a4f06 View commit details
    Browse the repository at this point in the history
  16. KVM: x86: call irq notifiers with directed EOI

    kvm_ioapic_update_eoi() wasn't called if directed EOI was enabled.
    We need to do that for irq notifiers.  (Like with edge interrupts.)
    
    Fix it by skipping EOI broadcast only.
    
    Bug: https://bugzilla.kernel.org/show_bug.cgi?id=82211
    Signed-off-by: Radim Krčmář <[email protected]>
    Reviewed-by: Paolo Bonzini <[email protected]>
    Tested-by: Bandan Das <[email protected]>
    Signed-off-by: Marcelo Tosatti <[email protected]>
    rkrcmar authored and matosatti committed Mar 23, 2015
    Configuration menu
    Copy the full SHA
    c806a6a View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2015

  1. kvm: avoid page allocation failure in kvm_set_memory_region()

    KVM guest can fail to startup with following trace on host:
    
    qemu-system-x86: page allocation failure: order:4, mode:0x40d0
    Call Trace:
      dump_stack+0x47/0x67
      warn_alloc_failed+0xee/0x150
      __alloc_pages_direct_compact+0x14a/0x150
      __alloc_pages_nodemask+0x776/0xb80
      alloc_kmem_pages+0x3a/0x110
      kmalloc_order+0x13/0x50
      kmemdup+0x1b/0x40
      __kvm_set_memory_region+0x24a/0x9f0 [kvm]
      kvm_set_ioapic+0x130/0x130 [kvm]
      kvm_set_memory_region+0x21/0x40 [kvm]
      kvm_vm_ioctl+0x43f/0x750 [kvm]
    
    Failure happens when attempting to allocate pages for
    'struct kvm_memslots', however it doesn't have to be
    present in physically contiguous (kmalloc-ed) address
    space, change allocation to kvm_kvzalloc() so that
    it will be vmalloc-ed when its size is more then a page.
    
    Signed-off-by: Igor Mammedov <[email protected]>
    Signed-off-by: Marcelo Tosatti <[email protected]>
    Igor Mammedov authored and matosatti committed Mar 24, 2015
    Configuration menu
    Copy the full SHA
    7449613 View commit details
    Browse the repository at this point in the history
  2. drm: Fixup racy refcounting in plane_force_disable

    Originally it was impossible to be dropping the last refcount in this
    function since there was always one around still from the idr. But in
    
    commit 83f45fc
    Author: Daniel Vetter <[email protected]>
    Date:   Wed Aug 6 09:10:18 2014 +0200
    
        drm: Don't grab an fb reference for the idr
    
    we've switched to weak references, broke that assumption but forgot to
    fix it up.
    
    Since we still force-disable planes it's only possible to hit this
    when racing multiple rmfb with fbdev restoring or similar evil things.
    As long as userspace is nice it's impossible to hit the BUG_ON.
    
    But the BUG_ON would most likely be hit from fbdev code, which usually
    invovles the console_lock besides all modeset locks. So very likely
    we'd never get the bug reports if this was hit in the wild, hence
    better be safe than sorry and backport.
    
    Spotted by Matt Roper while reviewing other patches.
    
    [airlied: pull this back into 4.0 - the oops happens there]
    
    Cc: [email protected]
    Cc: Matt Roper <[email protected]>
    Reviewed-by: Matt Roper <[email protected]>
    Signed-off-by: Daniel Vetter <[email protected]>
    Signed-off-by: Dave Airlie <[email protected]>
    danvet authored and airlied committed Mar 24, 2015
    Configuration menu
    Copy the full SHA
    8218c3f View commit details
    Browse the repository at this point in the history
  3. Merge remote-tracking branches 'spi/fix/dw', 'spi/fix/queue' and 'spi…

    …/fix/qup' into spi-linus
    broonie committed Mar 24, 2015
    Configuration menu
    Copy the full SHA
    072ac04 View commit details
    Browse the repository at this point in the history
  4. arm64: percpu: Make this_cpu accessors pre-empt safe

    this_cpu operations were implemented for arm64 in:
     5284e1b arm64: xchg: Implement cmpxchg_double
     f97fc81 arm64: percpu: Implement this_cpu operations
    
    Unfortunately, it is possible for pre-emption to take place between
    address generation and data access. This can lead to cases where data
    is being manipulated by this_cpu for a different CPU than it was
    called on. Which effectively breaks the spec.
    
    This patch disables pre-emption for the this_cpu operations
    guaranteeing that address generation and data manipulation take place
    without a pre-emption in-between.
    
    Fixes: 5284e1b ("arm64: xchg: Implement cmpxchg_double")
    Fixes: f97fc81 ("arm64: percpu: Implement this_cpu operations")
    Reported-by: Mark Rutland <[email protected]>
    Acked-by: Will Deacon <[email protected]>
    Signed-off-by: Steve Capper <[email protected]>
    [[email protected]: remove space after type cast]
    Signed-off-by: Catalin Marinas <[email protected]>
    stevecapperlinaro authored and ctmarinas committed Mar 24, 2015
    Configuration menu
    Copy the full SHA
    f3eab71 View commit details
    Browse the repository at this point in the history
  5. x86/asm/entry: Check for syscall exit work with IRQs disabled

    We currently have a race: if we're preempted during syscall
    exit, we can fail to process syscall return work that is queued
    up while we're preempted in ret_from_sys_call after checking
    ti.flags.
    
    Fix it by disabling interrupts before checking ti.flags.
    
    Reported-by: Stefan Seyfried <[email protected]>
    Reported-by: Takashi Iwai <[email protected]>
    Signed-off-by: Andy Lutomirski <[email protected]>
    Acked-by: Denys Vlasenko <[email protected]>
    Cc: Jiri Kosina <[email protected]>
    Cc: Tejun Heo <[email protected]>
    Fixes: 96b6352 ("x86_64, entry: Remove the syscall exit audit")
    Link: http://lkml.kernel.org/r/189320d42b4d671df78c10555976bb10af1ffc75.1427137498.git.luto@kernel.org
    Signed-off-by: Ingo Molnar <[email protected]>
    amluto authored and Ingo Molnar committed Mar 24, 2015
    Configuration menu
    Copy the full SHA
    b3494a4 View commit details
    Browse the repository at this point in the history
  6. ARM: dts: sun4i: a10-lime: Override and remove 1008MHz OPP setting

    The Olimex A10-Lime is known to be unstable when running at 1008MHz.
    
    Signed-off-by: Chen-Yu Tsai <[email protected]>
    Signed-off-by: Maxime Ripard <[email protected]>
    wens authored and mripard committed Mar 24, 2015
    Configuration menu
    Copy the full SHA
    977104e View commit details
    Browse the repository at this point in the history
  7. ARM: dts: sunxi: Remove overclocked/overvoltaged OPP

    Without proper regulator support for individual boards, it is dangerous
    to have overclocked/overvoltaged OPPs in the list. Cpufreq will increase
    the frequency without the accompanying voltage increase, resulting in
    an unstable system.
    
    Remove them for now. We can revisit them with the new version of OPP
    bindings, which support boost settings and frequency ranges, among
    other things.
    
    Signed-off-by: Chen-Yu Tsai <[email protected]>
    Signed-off-by: Maxime Ripard <[email protected]>
    wens authored and mripard committed Mar 24, 2015
    Configuration menu
    Copy the full SHA
    370a9b5 View commit details
    Browse the repository at this point in the history
  8. Merge tag 'regmap-fix-v4.0-rc5' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/broonie/regmap
    
    Pull regmap fix from Mark Brown:
     "This patch fixes a bad interaction between the support that was added
      for having regmaps without devices for early system controller
      initialization and the trace support.
    
      There's a very good analysis of the actual issue in the commit message
      for the change"
    
    * tag 'regmap-fix-v4.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
      regmap: introduce regmap_name to fix syscon regmap trace events
    torvalds committed Mar 24, 2015
    Configuration menu
    Copy the full SHA
    7c90de3 View commit details
    Browse the repository at this point in the history
  9. Merge tag 'regulator-fix-v4.0-rc5' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/broonie/regulator
    
    Pull regulator fixes from Mark Brown:
     "Two fixes here, one typo fix in the documentation and one fix for a
      system hang with one of the Palmas chips caused by the use of an
      incorrect offset being provided for one of the registers"
    
    * tag 'regulator-fix-v4.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
      regulator: Fix documentation for regmap in the config
      regulator: palmas: Correct TPS659038 register definition for REGEN2
    torvalds committed Mar 24, 2015
    Configuration menu
    Copy the full SHA
    7c9049d View commit details
    Browse the repository at this point in the history
  10. Merge tag 'spi-v4.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/broonie/spi
    
    Pull spi fixes from Mark Brown:
     "A couple of driver specific fixes of the usual "important if you have
      that device" kind together with a fix for a use after free bug that
      was introduced into the trace code in some of the recent refactoring
      of the message queue handling"
    
    * tag 'spi-v4.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
      spi: trigger trace event for message-done before mesg->complete
      spi: dw-mid: clear BUSY flag fist and test other one
      spi: qup: Fix cs-num DT property parsing
    torvalds committed Mar 24, 2015
    Configuration menu
    Copy the full SHA
    8696938 View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2015

  1. drm/i915: Don't try to reference the fb in get_initial_plane_config()

    Tvrtko noticed a new warning on boot:
    
      WARNING: CPU: 1 PID: 353 at include/linux/kref.h:47 drm_framebuffer_reference+0x6c/0x80 [drm]()
      Call Trace:
      [<ffffffff8161f10c>] dump_stack+0x4f/0x7b
      [<ffffffff81052caa>] warn_slowpath_common+0xaa/0xd0
      [<ffffffff81052d8a>] warn_slowpath_null+0x1a/0x20
      [<ffffffffa00d035c>] drm_framebuffer_reference+0x6c/0x80 [drm]
      [<ffffffffa01c0df7>] update_state_fb.isra.54+0x47/0x50 [i915]
      [<ffffffffa01ccd5c>] skylake_get_initial_plane_config+0x93c/0x950 [i915]
      [<ffffffffa01e8721>] intel_modeset_init+0x1551/0x17c0 [i915]
      [<ffffffffa02476e0>] i915_driver_load+0xed0/0x11e0 [i915]
      [<ffffffff81627aa1>] ? _raw_spin_unlock_irqrestore+0x51/0x70
      [<ffffffffa00ca8b7>] drm_dev_register+0x77/0x110 [drm]
      [<ffffffffa00cda3b>] drm_get_pci_dev+0x11b/0x1f0 [drm]
      [<ffffffff81098e3d>] ? trace_hardirqs_on+0xd/0x10
      [<ffffffff81627aa1>] ? _raw_spin_unlock_irqrestore+0x51/0x70
      [<ffffffffa0145276>] i915_pci_probe+0x56/0x60 [i915]
      [<ffffffff813ad59c>] pci_device_probe+0x7c/0x100
      [<ffffffff81466aad>] driver_probe_device+0x16d/0x380
    
    We cannot take a reference at this point, not before
    intel_framebuffer_init() and the underlying drm_framebuffer_init().
    
    Introduced in:
    
      commit 706dc7b549175e47f23e913b7f1e52874a7d0f56
      Author: Matt Roper <[email protected]>
      Date:   Tue Feb 3 13:10:04 2015 -0800
    
          drm/i915: Ensure plane->state->fb stays in sync with plane->fb
    
    v2: Don't move update_state_fb(). It was moved around because I
        originally put update_state_fb() in intel_alloc_plane_obj() before
        finding a better place. (Matt)
    
    Reviewed-by: Matt Roper <[email protected]>
    Reported-by: Tvrtko Ursulin <[email protected]>
    Cc: Matt Roper <[email protected]>
    Cc: Tvrtko Ursulin <[email protected]>
    Signed-off-by: Damien Lespiau <[email protected]>
    Signed-off-by: Daniel Vetter <[email protected]>
    From drm-next:
    (cherry picked from commit f55548b)
    Signed-off-by: Dave Airlie <[email protected]>
    Damien Lespiau authored and airlied committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    59a58cb View commit details
    Browse the repository at this point in the history
  2. Merge tag 'mfd-fixes-4.0' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/lee/mfd
    
    Pull MFD fixes from Lee Jones:
     - Use DMA'able addresses for DMA; rtsx_usb
     - Use return value in the correct way; kempld-core
    
    * tag 'mfd-fixes-4.0' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd:
      mfd: kempld-core: Fix callback return value check
      mfd: rtsx_usb: Prevent DMA from stack
    torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    5cf955e View commit details
    Browse the repository at this point in the history
  3. Merge branch 'for-4.0-fixes' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/tj/libata
    
    Pull libata fix from Tejun Heo:
     "One patch to fix a regression from the recent switch to blk-mq tag
      allocation which can cause oops on SAS-attached SATA drives"
    
    * 'for-4.0-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
      ata: Add a new flag to destinguish sas controller
    torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    1401b7c View commit details
    Browse the repository at this point in the history
  4. Merge git://git.kernel.org/pub/scm/virt/kvm/kvm

    Pull kvm fixes from Marcelo Tosatti:
     "Fix for higher-order page allocation failures, fix Xen-on-KVM with
      x2apic, L1 crash with unrestricted guest mode (nested VMX)"
    
    * git://git.kernel.org/pub/scm/virt/kvm/kvm:
      kvm: avoid page allocation failure in kvm_set_memory_region()
      KVM: x86: call irq notifiers with directed EOI
      KVM: nVMX: mask unrestricted_guest if disabled on L0
    torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    0d33cd0 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'powerpc-4.0-3' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/mpe/linux
    
    Pull powerpc fixes from Michael Ellerman:
    
     - Fix the MCE code to use CONFIG_KVM_BOOK3S_64_HANDLER
    
     - Little endian fixes for post mobility device tree update
    
     - Add PVR for POWER8NVL processor
    
     - Fixes for hypervisor doorbell handling
    
    * tag 'powerpc-4.0-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
      powerpc/book3s: Fix the MCE code to use CONFIG_KVM_BOOK3S_64_HANDLER
      powerpc/pseries: Little endian fixes for post mobility device tree update
      powerpc: Add PVR for POWER8NVL processor
      powerpc/powernv: Fixes for hypervisor doorbell handling
    torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    a55feeb View commit details
    Browse the repository at this point in the history
  6. Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/arm64/linux
    
    Pull two arm64 fixes from Catalin Marinas:
    
     - switch_mm() fix where init_mm.pgd ends up in the user TTBR0;
       swapper_pg_dir is not suitable for user mappings
    
     - this_cpu accessors fix for preemption safety
    
    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
      arm64: percpu: Make this_cpu accessors pre-empt safe
      arm64: Use the reserved TTBR0 if context switching to the init_mm
    torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    c875f42 View commit details
    Browse the repository at this point in the history
  7. s390/smp: reenable smt after resume

    After a suspend/resume cycle we missed to enable smt again, which leads
    to all sorts of bugs, since the kernel assumes smt is enabled, while the
    hardware thinks it is not.
    
    Reported-and-tested-by: Sebastian Ott <[email protected]>
    Reported-by: Stefan Haberland <[email protected]>
    Signed-off-by: Heiko Carstens <[email protected]>
    Signed-off-by: Martin Schwidefsky <[email protected]>
    heicarst authored and Martin Schwidefsky committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    1833c9f View commit details
    Browse the repository at this point in the history
  8. selinux: fix sel_write_enforce broken return value

    Return a negative error value like the rest of the entries in this function.
    
    Cc: <[email protected]>
    Signed-off-by: Joe Perches <[email protected]>
    Acked-by:  Stephen Smalley <[email protected]>
    [PM: tweaked subject line]
    Signed-off-by: Paul Moore <[email protected]>
    JoePerches authored and pcmoore committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    6436a12 View commit details
    Browse the repository at this point in the history
  9. Merge branch 'for-linus' of git://git.kernel.dk/linux-block

    Pull block layer fixes from Jens Axboe:
     "A small collection of fixes that has been gathered over the last few
      weeks.  This contains:
    
       - A one-liner fix for NVMe, fixing a missing list_head init that
         could makes us oops on hitting recovery at load time.
    
       - Two small blk-mq fixes:
            - Fixup a bad goto jump on error handling.
            - Fix for oopsing if running out of reserved tags.
    
       - A memory leak fix for NBD.
    
       - Two small writeback fixes from Tejun, fixing a missing init to
         INITIAL_JIFFIES, and a possible underflow introduced recently.
    
       - A core merge fixup in sg gap detection, where rq->biotail was
         indexed with the count of rq->bio"
    
    * 'for-linus' of git://git.kernel.dk/linux-block:
      writeback: fix possible underflow in write bandwidth calculation
      NVMe: Initialize device list head before starting
      Fix bug in blk_rq_merge_ok
      blkmq: Fix NULL pointer deref when all reserved tags in
      blk-mq: fix use of incorrect goto label in blk_mq_init_queue error path
      nbd: fix possible memory leak
      writeback: add missing INITIAL_JIFFIES init in global_update_bandwidth()
    torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    b8517e9 View commit details
    Browse the repository at this point in the history
  10. aoe: update aoe maintainer information

    The coraid.com email address is defunct.  The old aoe support area hosted
    at coraid.com is no longer up.  These changes update the email and website
    to current ones.
    
    Signed-off-by: Ed Cashin <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    ecashin authored and torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    fb90381 View commit details
    Browse the repository at this point in the history
  11. drivers/rtc/rtc-mrst: fix suspend/resume

    The Moorestown RTC driver implements suspend and resume callbacks and
    assigns them to the suspend and resume fields of the device_driver
    struct.  These callbacks are never actually called by anything though.
    
    Modify the driver to properly use dev_pm_ops so that the suspend and
    resume functions are actually executed upon suspend/resume.
    
    [[email protected]: device_driver.name is const char *]
    Signed-off-by: Lars-Peter Clausen <[email protected]>
    Cc: Alessandro Zummo <[email protected]>
    Cc: Feng Tang <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    larsclausen authored and torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    ddd2a30 View commit details
    Browse the repository at this point in the history
  12. mm: fix anon_vma->degree underflow in anon_vma endless growing preven…

    …tion
    
    I have constantly stumbled upon "kernel BUG at mm/rmap.c:399!" after
    upgrading to 3.19 and had no luck with 4.0-rc1 neither.
    
    So, after looking into new logic introduced by commit 7a3ef20 ("mm:
    prevent endless growth of anon_vma hierarchy"), I found chances are that
    unlink_anon_vmas() is called without incrementing dst->anon_vma->degree
    in anon_vma_clone() due to allocation failure.  If dst->anon_vma is not
    NULL in error path, its degree will be incorrectly decremented in
    unlink_anon_vmas() and eventually underflow when exiting as a result of
    another call to unlink_anon_vmas().  That's how "kernel BUG at
    mm/rmap.c:399!" is triggered for me.
    
    This patch fixes the underflow by dropping dst->anon_vma when allocation
    fails.  It's safe to do so regardless of original value of dst->anon_vma
    because dst->anon_vma doesn't have valid meaning if anon_vma_clone()
    fails.  Besides, callers don't care dst->anon_vma in such case neither.
    
    Also suggested by Michal Hocko, we can clean up vma_adjust() a bit as
    anon_vma_clone() now does the work.
    
    [[email protected]: tweak comment]
    Fixes: 7a3ef20 ("mm: prevent endless growth of anon_vma hierarchy")
    Signed-off-by: Leon Yu <[email protected]>
    Signed-off-by: Konstantin Khlebnikov <[email protected]>
    Reviewed-by: Michal Hocko <[email protected]>
    Acked-by: Rik van Riel <[email protected]>
    Acked-by: David Rientjes <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    clyu authored and torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    3fe89b3 View commit details
    Browse the repository at this point in the history
  13. mm/pagewalk.c: prevent positive return value of walk_page_test() from…

    … being passed to callers
    
    walk_page_test() is purely pagewalk's internal stuff, and its positive
    return values are not intended to be passed to the callers of pagewalk.
    
    However, in the current code if the last vma in the do-while loop in
    walk_page_range() happens to return a positive value, it leaks outside
    walk_page_range().  So the user visible effect is invalid/unexpected
    return value (according to the reporter, mbind() causes it.)
    
    This patch fixes it simply by reinitializing the return value after
    checked.
    
    Another exposed interface, walk_page_vma(), already returns 0 for such
    cases so no problem.
    
    Fixes: fafaa42 ("pagewalk: improve vma handling")
    Signed-off-by: Naoya Horiguchi <[email protected]>
    Signed-off-by: Kazutomo Yoshii <[email protected]>
    Reported-by: Kazutomo Yoshii <[email protected]>
    Acked-by: David Rientjes <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Naoya Horiguchi authored and torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    f683739 View commit details
    Browse the repository at this point in the history
  14. MAINTAINERS: correct rtc armada38x pattern entry

    Commit c6a95db ("MAINTAINERS: add the RTC driver for the
    Armada38x") typoed the pattern, fix it.
    
    Signed-off-by: Joe Perches <[email protected]>
    Acked-by: Gregory CLEMENT <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    JoePerches authored and torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    59ec967 View commit details
    Browse the repository at this point in the history
  15. mm/memory hotplug: postpone the reset of obsolete pgdat

    Qiu Xishi reported the following BUG when testing hot-add/hot-remove node under
    stress condition:
    
      BUG: unable to handle kernel paging request at 0000000000025f60
      IP: next_online_pgdat+0x1/0x50
      PGD 0
      Oops: 0000 [#1] SMP
      ACPI: Device does not support D3cold
      Modules linked in: fuse nls_iso8859_1 nls_cp437 vfat fat loop dm_mod coretemp mperf crc32c_intel ghash_clmulni_intel aesni_intel ablk_helper cryptd lrw gf128mul glue_helper aes_x86_64 pcspkr microcode igb dca i2c_algo_bit ipv6 megaraid_sas iTCO_wdt i2c_i801 i2c_core iTCO_vendor_support tg3 sg hwmon ptp lpc_ich pps_core mfd_core acpi_pad rtc_cmos button ext3 jbd mbcache sd_mod crc_t10dif scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw scsi_dh_emc scsi_dh ahci libahci libata scsi_mod [last unloaded: rasf]
      CPU: 23 PID: 238 Comm: kworker/23:1 Tainted: G           O 3.10.15-5885-euler0302 #1
      Hardware name: HUAWEI TECHNOLOGIES CO.,LTD. Huawei N1/Huawei N1, BIOS V100R001 03/02/2015
      Workqueue: events vmstat_update
      task: ffffa800d32c0000 ti: ffffa800d32ae000 task.ti: ffffa800d32ae000
      RIP: 0010: next_online_pgdat+0x1/0x50
      RSP: 0018:ffffa800d32afce8  EFLAGS: 00010286
      RAX: 0000000000001440 RBX: ffffffff81da53b8 RCX: 0000000000000082
      RDX: 0000000000000000 RSI: 0000000000000082 RDI: 0000000000000000
      RBP: ffffa800d32afd28 R08: ffffffff81c93bfc R09: ffffffff81cbdc96
      R10: 00000000000040ec R11: 00000000000000a0 R12: ffffa800fffb3440
      R13: ffffa800d32afd38 R14: 0000000000000017 R15: ffffa800e6616800
      FS:  0000000000000000(0000) GS:ffffa800e6600000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000000000025f60 CR3: 0000000001a0b000 CR4: 00000000001407e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      Call Trace:
        refresh_cpu_vm_stats+0xd0/0x140
        vmstat_update+0x11/0x50
        process_one_work+0x194/0x3d0
        worker_thread+0x12b/0x410
        kthread+0xc6/0xd0
        ret_from_fork+0x7c/0xb0
    
    The cause is the "memset(pgdat, 0, sizeof(*pgdat))" at the end of
    try_offline_node, which will reset all the content of pgdat to 0, as the
    pgdat is accessed lock-free, so that the users still using the pgdat
    will panic, such as the vmstat_update routine.
    
    process A:				offline node XX:
    
    vmstat_updat()
       refresh_cpu_vm_stats()
         for_each_populated_zone()
           find online node XX
         cond_resched()
    					offline cpu and memory, then try_offline_node()
    					node_set_offline(nid), and memset(pgdat, 0, sizeof(*pgdat))
           zone = next_zone(zone)
             pg_data_t *pgdat = zone->zone_pgdat;  // here pgdat is NULL now
               next_online_pgdat(pgdat)
                 next_online_node(pgdat->node_id);  // NULL pointer access
    
    So the solution here is postponing the reset of obsolete pgdat from
    try_offline_node() to hotadd_new_pgdat(), and just resetting
    pgdat->nr_zones and pgdat->classzone_idx to be 0 rather than the memset
    0 to avoid breaking pointer information in pgdat.
    
    Signed-off-by: Gu Zheng <[email protected]>
    Reported-by: Xishi Qiu <[email protected]>
    Suggested-by: KAMEZAWA Hiroyuki <[email protected]>
    Cc: David Rientjes <[email protected]>
    Cc: Yasuaki Ishimatsu <[email protected]>
    Cc: Taku Izumi <[email protected]>
    Cc: Tang Chen <[email protected]>
    Cc: Xie XiuQi <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Gu Zheng authored and torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    b0dc3a3 View commit details
    Browse the repository at this point in the history
  16. mm/slub: fix lockups on PREEMPT && !SMP kernels

    Commit 9aabf81 ("mm/slub: optimize alloc/free fastpath by removing
    preemption on/off") introduced an occasional hang for kernels built with
    CONFIG_PREEMPT && !CONFIG_SMP.
    
    The problem is the following loop the patch introduced to
    slab_alloc_node and slab_free:
    
        do {
            tid = this_cpu_read(s->cpu_slab->tid);
            c = raw_cpu_ptr(s->cpu_slab);
        } while (IS_ENABLED(CONFIG_PREEMPT) && unlikely(tid != c->tid));
    
    GCC 4.9 has been observed to hoist the load of c and c->tid above the
    loop for !SMP kernels (as in this case raw_cpu_ptr(x) is compile-time
    constant and does not force a reload).  On arm64 the generated assembly
    looks like:
    
             ldr     x4, [x0,#8]
      loop:
             ldr     x1, [x0,#8]
             cmp     x1, x4
             b.ne    loop
    
    If the thread is preempted between the load of c->tid (into x1) and tid
    (into x4), and an allocation or free occurs in another thread (bumping
    the cpu_slab's tid), the thread will be stuck in the loop until
    s->cpu_slab->tid wraps, which may be forever in the absence of
    allocations/frees on the same CPU.
    
    This patch changes the loop condition to access c->tid with READ_ONCE.
    This ensures that the value is reloaded even when the compiler would
    otherwise assume it could cache the value, and also ensures that the
    load will not be torn.
    
    Signed-off-by: Mark Rutland <[email protected]>
    Cc: Catalin Marinas <[email protected]>
    Acked-by: Christoph Lameter <[email protected]>
    Cc: David Rientjes <[email protected]>
    Cc: Jesper Dangaard Brouer <[email protected]>
    Cc: Joonsoo Kim <[email protected]>
    Cc: Pekka Enberg <[email protected]>
    Cc: Steve Capper <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Mark Rutland authored and torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    859b7a0 View commit details
    Browse the repository at this point in the history
  17. mm/page_alloc.c: call kernel_map_pages in unset_migrateype_isolate

    Commit 3c60509 ("mm/page_alloc: restrict max order of merging on
    isolated pageblock") changed the logic of unset_migratetype_isolate to
    check the buddy allocator and explicitly call __free_pages to merge.
    
    The page that is being freed in this path never had prep_new_page called
    so set_page_refcounted is called explicitly but there is no call to
    kernel_map_pages.  With the default kernel_map_pages this is mostly
    harmless but if kernel_map_pages does any manipulation of the page
    tables (unmapping or setting pages to read only) this may trigger a
    fault:
    
        alloc_contig_range test_pages_isolated(ceb00, ced00) failed
        Unable to handle kernel paging request at virtual address ffffffc0cec00000
        pgd = ffffffc045fc4000
        [ffffffc0cec00000] *pgd=0000000000000000
        Internal error: Oops: 9600004f [#1] PREEMPT SMP
        Modules linked in: exfatfs
        CPU: 1 PID: 23237 Comm: TimedEventQueue Not tainted 3.10.49-gc72ad36-dirty #1
        task: ffffffc03de52100 ti: ffffffc015388000 task.ti: ffffffc015388000
        PC is at memset+0xc8/0x1c0
        LR is at kernel_map_pages+0x1ec/0x244
    
    Fix this by calling kernel_map_pages to ensure the page is set in the
    page table properly
    
    Fixes: 3c60509 ("mm/page_alloc: restrict max order of merging on isolated pageblock")
    Signed-off-by: Laura Abbott <[email protected]>
    Cc: Naoya Horiguchi <[email protected]>
    Cc: Mel Gorman <[email protected]>
    Acked-by: Rik van Riel <[email protected]>
    Cc: Yasuaki Ishimatsu <[email protected]>
    Cc: Zhang Yanfei <[email protected]>
    Cc: Xishi Qiu <[email protected]>
    Cc: Vladimir Davydov <[email protected]>
    Acked-by: Joonsoo Kim <[email protected]>
    Cc: Gioh Kim <[email protected]>
    Cc: Michal Nazarewicz <[email protected]>
    Cc: Marek Szyprowski <[email protected]>
    Cc: Vlastimil Babka <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    labbott authored and torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    cfa8694 View commit details
    Browse the repository at this point in the history
  18. fs/affs/file.c: unlock/release page on error

    When affs_bread_ino() fails, correctly unlock the page and release the
    page cache with proper error value.  All write_end() should
    unlock/release the page that was locked by write_beg().
    
    Signed-off-by: Taesoo Kim <[email protected]>
    Cc: Fabian Frederick <[email protected]>
    Cc: Al Viro <[email protected]>
    Cc: Geert Uytterhoeven <[email protected]>
    Cc: Jan Kara <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    tsgates authored and torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    3d5d472 View commit details
    Browse the repository at this point in the history
  19. MAINTAINERS: add Jan as DMI/SMBIOS support maintainer

    I am familiar with these drivers and I care about them so let me add
    myself as their maintainer.
    
    Signed-off-by: Jean Delvare <[email protected]>
    Acked-by: Matt Fleming <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    jdelvare authored and torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    1f31e1b View commit details
    Browse the repository at this point in the history
  20. hfsplus: fix B-tree corruption after insertion at position 0

    Fix B-tree corruption when a new record is inserted at position 0 in the
    node in hfs_brec_insert().  In this case a hfs_brec_update_parent() is
    called to update the parent index node (if exists) and it is passed
    hfs_find_data with a search_key containing a newly inserted key instead
    of the key to be updated.  This results in an inconsistent index node.
    The bug reproduces on my machine after an extents overflow record for
    the catalog file (CNID=4) is inserted into the extents overflow B-tree.
    Because of a low (reserved) value of CNID=4, it has to become the first
    record in the first leaf node.
    
    The resulting first leaf node is correct:
    
      ----------------------------------------------------
      | key0.CNID=4 | key1.CNID=123 | key2.CNID=456, ... |
      ----------------------------------------------------
    
    But the parent index key0 still contains the previous key CNID=123:
    
      -----------------------
      | key0.CNID=123 | ... |
      -----------------------
    
    A change in hfs_brec_insert() makes hfs_brec_update_parent() work
    correctly by preventing it from getting fd->record=-1 value from
    __hfs_brec_find().
    
    Along the way, I removed duplicate code with unification of the if
    condition.  The resulting code is equivalent to the original code
    because node is never 0.
    
    Also hfs_brec_update_parent() will now return an error after getting a
    negative fd->record value.  However, the return value of
    hfs_brec_update_parent() is not checked anywhere in the file and I'm
    leaving it unchanged by this patch.  brec.c lacks error checking after
    some other calls too, but this issue is of less importance than the one
    being fixed by this patch.
    
    Signed-off-by: Sergei Antonov <[email protected]>
    Cc: Joe Perches <[email protected]>
    Reviewed-by: Vyacheslav Dubeyko <[email protected]>
    Acked-by: Hin-Tak Leung <[email protected]>
    Cc: Anton Altaparmakov <[email protected]>
    Cc: Al Viro <[email protected]>
    Cc: Christoph Hellwig <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    saproj authored and torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    98cf21c View commit details
    Browse the repository at this point in the history
  21. mm: numa: group related processes based on VMA flags instead of page …

    …table flags
    
    These are three follow-on patches based on the xfsrepair workload Dave
    Chinner reported was problematic in 4.0-rc1 due to changes in page table
    management -- https://lkml.org/lkml/2015/3/1/226.
    
    Much of the problem was reduced by commit 53da3bc ("mm: fix up numa
    read-only thread grouping logic") and commit ba68bc0 ("mm: thp:
    Return the correct value for change_huge_pmd").  It was known that the
    performance in 3.19 was still better even if is far less safe.  This
    series aims to restore the performance without compromising on safety.
    
    For the test of this mail, I'm comparing 3.19 against 4.0-rc4 and the
    three patches applied on top
    
      autonumabench
                                                    3.19.0             4.0.0-rc4             4.0.0-rc4             4.0.0-rc4             4.0.0-rc4
                                                   vanilla               vanilla          vmwrite-v5r8         preserve-v5r8         slowscan-v5r8
      Time System-NUMA01                  124.00 (  0.00%)      161.86 (-30.53%)      107.13 ( 13.60%)      103.13 ( 16.83%)      145.01 (-16.94%)
      Time System-NUMA01_THEADLOCAL       115.54 (  0.00%)      107.64 (  6.84%)      131.87 (-14.13%)       83.30 ( 27.90%)       92.35 ( 20.07%)
      Time System-NUMA02                    9.35 (  0.00%)       10.44 (-11.66%)        8.95 (  4.28%)       10.72 (-14.65%)        8.16 ( 12.73%)
      Time System-NUMA02_SMT                3.87 (  0.00%)        4.63 (-19.64%)        4.57 (-18.09%)        3.99 ( -3.10%)        3.36 ( 13.18%)
      Time Elapsed-NUMA01                 570.06 (  0.00%)      567.82 (  0.39%)      515.78 (  9.52%)      517.26 (  9.26%)      543.80 (  4.61%)
      Time Elapsed-NUMA01_THEADLOCAL      393.69 (  0.00%)      384.83 (  2.25%)      384.10 (  2.44%)      384.31 (  2.38%)      380.73 (  3.29%)
      Time Elapsed-NUMA02                  49.09 (  0.00%)       49.33 ( -0.49%)       48.86 (  0.47%)       48.78 (  0.63%)       50.94 ( -3.77%)
      Time Elapsed-NUMA02_SMT              47.51 (  0.00%)       47.15 (  0.76%)       47.98 ( -0.99%)       48.12 ( -1.28%)       49.56 ( -4.31%)
    
                    3.19.0   4.0.0-rc4   4.0.0-rc4   4.0.0-rc4   4.0.0-rc4
                   vanilla     vanillavmwrite-v5r8preserve-v5r8slowscan-v5r8
      User        46334.60    46391.94    44383.95    43971.89    44372.12
      System        252.84      284.66      252.61      201.24      249.00
      Elapsed      1062.14     1050.96      998.68     1000.94     1026.78
    
    Overall the system CPU usage is comparable and the test is naturally a
    bit variable.  The slowing of the scanner hurts numa01 but on this
    machine it is an adverse workload and patches that dramatically help it
    often hurt absolutely everything else.
    
    Due to patch 2, the fault activity is interesting
    
                                      3.19.0   4.0.0-rc4   4.0.0-rc4   4.0.0-rc4   4.0.0-rc4
                                     vanilla     vanillavmwrite-v5r8preserve-v5r8slowscan-v5r8
      Minor Faults                   2097811     2656646     2597249     1981230     1636841
      Major Faults                       362         450         365         364         365
    
    Note the impact preserving the write bit across protection updates and
    fault reduces faults.
    
      NUMA alloc hit                 1229008     1217015     1191660     1178322     1199681
      NUMA alloc miss                      0           0           0           0           0
      NUMA interleave hit                  0           0           0           0           0
      NUMA alloc local               1228514     1216317     1190871     1177448     1199021
      NUMA base PTE updates        245706197   240041607   238195516   244704842   115012800
      NUMA huge PMD updates           479530      468448      464868      477573      224487
      NUMA page range updates      491225557   479886983   476207932   489222218   229950144
      NUMA hint faults                659753      656503      641678      656926      294842
      NUMA hint local faults          381604      373963      360478      337585      186249
      NUMA hint local percent             57          56          56          51          63
      NUMA pages migrated            5412140     6374899     6266530     5277468     5755096
      AutoNUMA cost                    5121%       5083%       4994%       5097%       2388%
    
    Here the impact of slowing the PTE scanner on migratrion failures is
    obvious as "NUMA base PTE updates" and "NUMA huge PMD updates" are
    massively reduced even though the headline performance is very similar.
    
    As xfsrepair was the reported workload here is the impact of the series
    on it.
    
      xfsrepair
                                             3.19.0             4.0.0-rc4             4.0.0-rc4             4.0.0-rc4             4.0.0-rc4
                                            vanilla               vanilla          vmwrite-v5r8         preserve-v5r8         slowscan-v5r8
      Min      real-fsmark        1183.29 (  0.00%)     1165.73 (  1.48%)     1152.78 (  2.58%)     1153.64 (  2.51%)     1177.62 (  0.48%)
      Min      syst-fsmark        4107.85 (  0.00%)     4027.75 (  1.95%)     3986.74 (  2.95%)     3979.16 (  3.13%)     4048.76 (  1.44%)
      Min      real-xfsrepair      441.51 (  0.00%)      463.96 ( -5.08%)      449.50 ( -1.81%)      440.08 (  0.32%)      439.87 (  0.37%)
      Min      syst-xfsrepair      195.76 (  0.00%)      278.47 (-42.25%)      262.34 (-34.01%)      203.70 ( -4.06%)      143.64 ( 26.62%)
      Amean    real-fsmark        1188.30 (  0.00%)     1177.34 (  0.92%)     1157.97 (  2.55%)     1158.21 (  2.53%)     1182.22 (  0.51%)
      Amean    syst-fsmark        4111.37 (  0.00%)     4055.70 (  1.35%)     3987.19 (  3.02%)     3998.72 (  2.74%)     4061.69 (  1.21%)
      Amean    real-xfsrepair      450.88 (  0.00%)      468.32 ( -3.87%)      454.14 ( -0.72%)      442.36 (  1.89%)      440.59 (  2.28%)
      Amean    syst-xfsrepair      199.66 (  0.00%)      290.60 (-45.55%)      277.20 (-38.84%)      204.68 ( -2.51%)      150.55 ( 24.60%)
      Stddev   real-fsmark           4.12 (  0.00%)       10.82 (-162.29%)       4.14 ( -0.28%)        5.98 (-45.05%)        4.60 (-11.53%)
      Stddev   syst-fsmark           2.63 (  0.00%)       20.32 (-671.82%)       0.37 ( 85.89%)       16.47 (-525.59%)      15.05 (-471.79%)
      Stddev   real-xfsrepair        6.87 (  0.00%)        4.55 ( 33.75%)        3.46 ( 49.58%)        1.78 ( 74.12%)        0.52 ( 92.50%)
      Stddev   syst-xfsrepair        3.02 (  0.00%)       10.30 (-241.37%)      13.17 (-336.37%)       0.71 ( 76.63%)        5.00 (-65.61%)
      CoeffVar real-fsmark           0.35 (  0.00%)        0.92 (-164.73%)       0.36 ( -2.91%)        0.52 (-48.82%)        0.39 (-12.10%)
      CoeffVar syst-fsmark           0.06 (  0.00%)        0.50 (-682.41%)       0.01 ( 85.45%)        0.41 (-543.22%)       0.37 (-478.78%)
      CoeffVar real-xfsrepair        1.52 (  0.00%)        0.97 ( 36.21%)        0.76 ( 49.94%)        0.40 ( 73.62%)        0.12 ( 92.33%)
      CoeffVar syst-xfsrepair        1.51 (  0.00%)        3.54 (-134.54%)       4.75 (-214.31%)       0.34 ( 77.20%)        3.32 (-119.63%)
      Max      real-fsmark        1193.39 (  0.00%)     1191.77 (  0.14%)     1162.90 (  2.55%)     1166.66 (  2.24%)     1188.50 (  0.41%)
      Max      syst-fsmark        4114.18 (  0.00%)     4075.45 (  0.94%)     3987.65 (  3.08%)     4019.45 (  2.30%)     4082.80 (  0.76%)
      Max      real-xfsrepair      457.80 (  0.00%)      474.60 ( -3.67%)      457.82 ( -0.00%)      444.42 (  2.92%)      441.03 (  3.66%)
      Max      syst-xfsrepair      203.11 (  0.00%)      303.65 (-49.50%)      294.35 (-44.92%)      205.33 ( -1.09%)      155.28 ( 23.55%)
    
    The really relevant lines as syst-xfsrepair which is the system CPU
    usage when running xfsrepair.  Note that on my machine the overhead was
    45% higher on 4.0-rc4 which may be part of what Dave is seeing.  Once we
    preserve the write bit across faults, it's only 2.51% higher on average.
    With the full series applied, system CPU usage is 24.6% lower on
    average.
    
    Again, the impact of preserving the write bit on minor faults is obvious
    and the impact of slowing scanning after migration failures is obvious
    on the PTE updates.  Note also that the number of pages migrated is much
    reduced even though the headline performance is comparable.
    
                                      3.19.0   4.0.0-rc4   4.0.0-rc4   4.0.0-rc4   4.0.0-rc4
                                     vanilla     vanillavmwrite-v5r8preserve-v5r8slowscan-v5r8
      Minor Faults                 153466827   254507978   249163829   153501373   105737890
      Major Faults                       610         702         690         649         724
      NUMA base PTE updates        217735049   210756527   217729596   216937111   144344993
      NUMA huge PMD updates           129294       85044      106921      127246       79887
      NUMA pages migrated           21938995    29705270    28594162    22687324    16258075
    
                            3.19.0   4.0.0-rc4   4.0.0-rc4   4.0.0-rc4   4.0.0-rc4
                           vanilla     vanillavmwrite-v5r8preserve-v5r8slowscan-v5r8
      Mean sdb-avgqusz       13.47        2.54        2.55        2.47        2.49
      Mean sdb-avgrqsz      202.32      140.22      139.50      139.02      138.12
      Mean sdb-await         25.92        5.09        5.33        5.02        5.22
      Mean sdb-r_await        4.71        0.19        0.83        0.51        0.11
      Mean sdb-w_await      104.13        5.21        5.38        5.05        5.32
      Mean sdb-svctm          0.59        0.13        0.14        0.13        0.14
      Mean sdb-rrqm           0.16        0.00        0.00        0.00        0.00
      Mean sdb-wrqm           3.59     1799.43     1826.84     1812.21     1785.67
      Max  sdb-avgqusz      111.06       12.13       14.05       11.66       15.60
      Max  sdb-avgrqsz      255.60      190.34      190.01      187.33      191.78
      Max  sdb-await        168.24       39.28       49.22       44.64       65.62
      Max  sdb-r_await      660.00       52.00      280.00       76.00       12.00
      Max  sdb-w_await     7804.00       39.28       49.22       44.64       65.62
      Max  sdb-svctm          4.00        2.82        2.86        1.98        2.84
      Max  sdb-rrqm           8.30        0.00        0.00        0.00        0.00
      Max  sdb-wrqm          34.20     5372.80     5278.60     5386.60     5546.15
    
    FWIW, I also checked SPECjbb in different configurations but it's
    similar observations -- minor faults lower, PTE update activity lower
    and performance is roughly comparable against 3.19.
    
    This patch (of 3):
    
    Threads that share writable data within pages are grouped together as
    related tasks.  This decision is based on whether the PTE is marked
    dirty which is subject to timing races between the PTE scanner update
    and when the application writes the page.  If the page is file-backed,
    then background flushes and sync also affect placement.  This is
    unpredictable behaviour which is impossible to reason about so this
    patch makes grouping decisions based on the VMA flags.
    
    Signed-off-by: Mel Gorman <[email protected]>
    Reported-by: Dave Chinner <[email protected]>
    Tested-by: Dave Chinner <[email protected]>
    Cc: Ingo Molnar <[email protected]>
    Cc: Aneesh Kumar <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Mel Gorman authored and torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    bea66fb View commit details
    Browse the repository at this point in the history
  22. mm: numa: preserve PTE write permissions across a NUMA hinting fault

    Protecting a PTE to trap a NUMA hinting fault clears the writable bit
    and further faults are needed after trapping a NUMA hinting fault to set
    the writable bit again.  This patch preserves the writable bit when
    trapping NUMA hinting faults.  The impact is obvious from the number of
    minor faults trapped during the basis balancing benchmark and the system
    CPU usage;
    
      autonumabench
                                                 4.0.0-rc4             4.0.0-rc4
                                                  baseline              preserve
      Time System-NUMA01                  107.13 (  0.00%)      103.13 (  3.73%)
      Time System-NUMA01_THEADLOCAL       131.87 (  0.00%)       83.30 ( 36.83%)
      Time System-NUMA02                    8.95 (  0.00%)       10.72 (-19.78%)
      Time System-NUMA02_SMT                4.57 (  0.00%)        3.99 ( 12.69%)
      Time Elapsed-NUMA01                 515.78 (  0.00%)      517.26 ( -0.29%)
      Time Elapsed-NUMA01_THEADLOCAL      384.10 (  0.00%)      384.31 ( -0.05%)
      Time Elapsed-NUMA02                  48.86 (  0.00%)       48.78 (  0.16%)
      Time Elapsed-NUMA02_SMT              47.98 (  0.00%)       48.12 ( -0.29%)
    
                   4.0.0-rc4   4.0.0-rc4
                    baseline    preserve
      User          44383.95    43971.89
      System          252.61      201.24
      Elapsed         998.68     1000.94
    
      Minor Faults   2597249     1981230
      Major Faults       365         364
    
    There is a similar drop in system CPU usage using Dave Chinner's xfsrepair
    workload
    
                                          4.0.0-rc4             4.0.0-rc4
                                           baseline              preserve
      Amean    real-xfsrepair      454.14 (  0.00%)      442.36 (  2.60%)
      Amean    syst-xfsrepair      277.20 (  0.00%)      204.68 ( 26.16%)
    
    The patch looks hacky but the alternatives looked worse.  The tidest was
    to rewalk the page tables after a hinting fault but it was more complex
    than this approach and the performance was worse.  It's not generally
    safe to just mark the page writable during the fault if it's a write
    fault as it may have been read-only for COW so that approach was
    discarded.
    
    Signed-off-by: Mel Gorman <[email protected]>
    Reported-by: Dave Chinner <[email protected]>
    Tested-by: Dave Chinner <[email protected]>
    Cc: Ingo Molnar <[email protected]>
    Cc: Aneesh Kumar <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Mel Gorman authored and torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    b191f9b View commit details
    Browse the repository at this point in the history
  23. mm: numa: slow PTE scan rate if migration failures occur

    Dave Chinner reported the following on https://lkml.org/lkml/2015/3/1/226
    
      Across the board the 4.0-rc1 numbers are much slower, and the degradation
      is far worse when using the large memory footprint configs. Perf points
      straight at the cause - this is from 4.0-rc1 on the "-o bhash=101073" config:
    
       -   56.07%    56.07%  [kernel]            [k] default_send_IPI_mask_sequence_phys
          - default_send_IPI_mask_sequence_phys
             - 99.99% physflat_send_IPI_mask
                - 99.37% native_send_call_func_ipi
                     smp_call_function_many
                   - native_flush_tlb_others
                      - 99.85% flush_tlb_page
                           ptep_clear_flush
                           try_to_unmap_one
                           rmap_walk
                           try_to_unmap
                           migrate_pages
                           migrate_misplaced_page
                         - handle_mm_fault
                            - 99.73% __do_page_fault
                                 trace_do_page_fault
                                 do_async_page_fault
                               + async_page_fault
                  0.63% native_send_call_func_single_ipi
                     generic_exec_single
                     smp_call_function_single
    
    This is showing excessive migration activity even though excessive
    migrations are meant to get throttled.  Normally, the scan rate is tuned
    on a per-task basis depending on the locality of faults.  However, if
    migrations fail for any reason then the PTE scanner may scan faster if
    the faults continue to be remote.  This means there is higher system CPU
    overhead and fault trapping at exactly the time we know that migrations
    cannot happen.  This patch tracks when migration failures occur and
    slows the PTE scanner.
    
    Signed-off-by: Mel Gorman <[email protected]>
    Reported-by: Dave Chinner <[email protected]>
    Tested-by: Dave Chinner <[email protected]>
    Cc: Ingo Molnar <[email protected]>
    Cc: Aneesh Kumar <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Mel Gorman authored and torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    074c238 View commit details
    Browse the repository at this point in the history
  24. mm: numa: mark huge PTEs young when clearing NUMA hinting faults

    Base PTEs are marked young when the NUMA hinting information is cleared
    but the same does not happen for huge pages which this patch addresses.
    
    Note that migrated pages are not marked young as the base page migration
    code does not assume that migrated pages have been referenced.  This
    could be addressed but beyond the scope of this series which is aimed at
    Dave Chinners shrink workload that is unlikely to be affected by this
    issue.
    
    Signed-off-by: Mel Gorman <[email protected]>
    Cc: Dave Chinner <[email protected]>
    Cc: Ingo Molnar <[email protected]>
    Cc: Aneesh Kumar <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Mel Gorman authored and torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    b7b0400 View commit details
    Browse the repository at this point in the history
  25. Merge tag 'signed-for-4.0' of git://github.com/agraf/linux-2.6

    Patch queue for 4.0 - 2015-03-25
    
    A few bug fixes for Book3S HV KVM:
    
      - Fix spinlock ordering
      - Fix idle guests on LE hosts
      - Fix instruction emulation
    Marcelo Tosatti authored and matosatti committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    27bfc6c View commit details
    Browse the repository at this point in the history
  26. Merge branch 'akpm' (patches from Andrew)

    Merge misc fixes from Andrew Morton:
     "15 fixes"
    
    * emailed patches from Andrew Morton <[email protected]>:
      mm: numa: mark huge PTEs young when clearing NUMA hinting faults
      mm: numa: slow PTE scan rate if migration failures occur
      mm: numa: preserve PTE write permissions across a NUMA hinting fault
      mm: numa: group related processes based on VMA flags instead of page table flags
      hfsplus: fix B-tree corruption after insertion at position 0
      MAINTAINERS: add Jan as DMI/SMBIOS support maintainer
      fs/affs/file.c: unlock/release page on error
      mm/page_alloc.c: call kernel_map_pages in unset_migrateype_isolate
      mm/slub: fix lockups on PREEMPT && !SMP kernels
      mm/memory hotplug: postpone the reset of obsolete pgdat
      MAINTAINERS: correct rtc armada38x pattern entry
      mm/pagewalk.c: prevent positive return value of walk_page_test() from being passed to callers
      mm: fix anon_vma->degree underflow in anon_vma endless growing prevention
      drivers/rtc/rtc-mrst: fix suspend/resume
      aoe: update aoe maintainer information
    torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    9c8e30d View commit details
    Browse the repository at this point in the history
  27. Merge tag 'metag-fixes-v4.0-2' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/jhogan/metag
    
    Pull arch/metag fix from James Hogan:
     "Another metag architecture fix for v4.0
    
      This is another single fix, for an include dependency problem when
      using ioremap_wc() from asm/io.h without also including asm/pgtable.h"
    
    * tag 'metag-fixes-v4.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
      metag: Fix ioremap_wc/ioremap_cached build errors
    torvalds committed Mar 25, 2015
    Configuration menu
    Copy the full SHA
    4c4fe4c View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2015

  1. ARC: SA_SIGINFO ucontext regs off-by-one

    The regfile provided to SA_SIGINFO signal handler as ucontext was off by
    one due to pt_regs gutter cleanups in 2013.
    
    Before handling signal, user pt_regs are copied onto user_regs_struct and copied
    back later. Both structs are binary compatible. This was all fine until
    commit 2fa9190 (ARC: pt_regs update #2) which removed the empty stack slot
    at top of pt_regs (corresponding to first pad) and made the corresponding
    fixup in struct user_regs_struct (the pad in there was moved out of
    @scratch - not removed altogether as it is part of ptrace ABI)
    
     struct user_regs_struct {
    +       long pad;
            struct {
    -               long pad;
                    long bta, lp_start, lp_end,....
            } scratch;
     ...
     }
    
    This meant that now user_regs_struct was off by 1 reg w.r.t pt_regs and
    signal code needs to user_regs_struct.scratch to reflect it as pt_regs,
    which is what this commit does.
    
    This problem was hidden for 2 years, because both save/restore, despite
    using wrong location, were using the same location. Only an interim
    inspection (reproducer below) exposed the issue.
    
         void handle_segv(int signo, siginfo_t *info, void *context)
         {
     	ucontext_t *uc = context;
    	struct user_regs_struct *regs = &(uc->uc_mcontext.regs);
    
    	printf("regs %x %x\n",               <=== prints 7 8 (vs. 8 9)
                   regs->scratch.r8, regs->scratch.r9);
         }
    
         int main()
         {
    	struct sigaction sa;
    
    	sa.sa_sigaction = handle_segv;
    	sa.sa_flags = SA_SIGINFO;
    	sigemptyset(&sa.sa_mask);
    	sigaction(SIGSEGV, &sa, NULL);
    
    	asm volatile(
    	"mov	r7, 7	\n"
    	"mov	r8, 8	\n"
    	"mov	r9, 9	\n"
    	"mov	r10, 10	\n"
    	:::"r7","r8","r9","r10");
    
    	*((unsigned int*)0x10) = 0;
         }
    
    Fixes: 2fa9190 "ARC: pt_regs update #2: Remove unused gutter at start of pt_regs"
    CC: <[email protected]>
    Signed-off-by: Vineet Gupta <[email protected]>
    vineetgarc committed Mar 26, 2015
    Configuration menu
    Copy the full SHA
    6914e1e View commit details
    Browse the repository at this point in the history
  2. ARC: signal handling robustify

    A malicious signal handler / restorer can DOS the system by fudging the
    user regs saved on stack, causing weird things such as sigreturn returning
    to user mode PC but cpu state still being kernel mode....
    
    Ensure that in sigreturn path status32 always has U bit; any other bogosity
    (gargbage PC etc) will be taken care of by normal user mode exceptions mechanisms.
    
    Reproducer signal handler:
    
        void handle_sig(int signo, siginfo_t *info, void *context)
        {
    	ucontext_t *uc = context;
    	struct user_regs_struct *regs = &(uc->uc_mcontext.regs);
    
    	regs->scratch.status32 = 0;
        }
    
    Before the fix, kernel would go off to weeds like below:
    
        --------->8-----------
        [ARCLinux]$ ./signal-test
        Path: /signal-test
        CPU: 0 PID: 61 Comm: signal-test Not tainted 4.0.0-rc5+ #65
        task: 8f177880 ti: 5ffe6000 task.ti: 8f15c000
    
        [ECR   ]: 0x00220200 => Invalid Write @ 0x00000010 by insn @ 0x00010698
        [EFA   ]: 0x00000010
        [BLINK ]: 0x2007c1ee
        [ERET  ]: 0x10698
        [STAT32]: 0x00000000 :                                   <--------
        BTA: 0x00010680	 SP: 0x5ffe7e48	 FP: 0x00000000
        LPS: 0x20003c6c	LPE: 0x20003c70	LPC: 0x00000000
        ...
        --------->8-----------
    
    Reported-by: Alexey Brodkin <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Vineet Gupta <[email protected]>
    vineetgarc committed Mar 26, 2015
    Configuration menu
    Copy the full SHA
    e414081 View commit details
    Browse the repository at this point in the history
  3. ALSA: hda_intel: apply the Seperate stream_tag for Sunrise Point

    The total stream number of Sunrise Point's input and output stream
    exceeds 15, which will cause some streams do not work because
    of the overflow on SDxCTL.STRM field if using the legacy
    stream tag allocation method.
    
    This patch uses the new stream tag allocation method by add
    the flag AZX_DCAPS_SEPARATE_STREAM_TAG for Skylake platform.
    
    Signed-off-by: Libin Yang <[email protected]>
    Signed-off-by: Takashi Iwai <[email protected]>
    libinyang authored and tiwai committed Mar 26, 2015
    Configuration menu
    Copy the full SHA
    db48abf View commit details
    Browse the repository at this point in the history
  4. drm/i915: Keep ring->active_list and ring->requests_list consistent

    If we retire requests last, we may use a later seqno and so clear
    the requests lists without clearing the active list, leading to
    confusion. Hence we should retire requests first for consistency with
    the early return. The order used to be important as the lifecycle for
    the object on the active list was determined by request->seqno. However,
    the requests themselves are now reference counted removing the
    constraint from the order of retirement.
    
    Fixes regression from
    
    commit 1b5a433
    Author: John Harrison <[email protected]>
    Date:   Mon Nov 24 18:49:42 2014 +0000
    
        drm/i915: Convert 'i915_seqno_passed' calls into 'i915_gem_request_completed
    '
    
    and a
    
    	WARNING: CPU: 0 PID: 1383 at drivers/gpu/drm/i915/i915_gem_evict.c:279 i915_gem_evict_vm+0x10c/0x140()
    	WARN_ON(!list_empty(&vm->active_list))
    
    Identified by updating WATCH_LISTS:
    
    	[drm:i915_verify_lists] *ERROR* blitter ring: active list not empty, but no requests
    	WARNING: CPU: 0 PID: 681 at drivers/gpu/drm/i915/i915_gem.c:2751 i915_gem_retire_requests_ring+0x149/0x230()
    	WARN_ON(i915_verify_lists(ring->dev))
    
    Note that this is only a problem in evict_vm where the following happens
    after a retire_request has cleaned out all requests, but not all active
    bo:
    - intel_ring_idle called from i915_gpu_idle notices that no requests are
      outstanding and immediately returns.
    - i915_gem_retire_requests_ring called from i915_gem_retire_requests also
      immediately returns when there's no request, still leaving the bo on the
      active list.
    - evict_vm hits the WARN_ON(!list_empty(&vm->active_list)) after evicting
      all active objects that there's still stuff left that shouldn't be
      there.
    
    Signed-off-by: Chris Wilson <[email protected]>
    Cc: John Harrison <[email protected]>
    Cc: Daniel Vetter <[email protected]>
    Reviewed-by: Daniel Vetter <[email protected]>
    Signed-off-by: Jani Nikula <[email protected]>
    ickle authored and jnikula committed Mar 26, 2015
    Configuration menu
    Copy the full SHA
    832a3aa View commit details
    Browse the repository at this point in the history
  5. clocksource/drivers: Fix various !CONFIG_HAS_IOMEM build errors

    Fix !CONFIG_HAS_IOMEM related build failures in three clocksource drivers.
    
    The build failures have the pattern of:
    
      drivers/clocksource/sh_cmt.c: In function ‘sh_cmt_map_memory’: drivers/clocksource/sh_cmt.c:920:2:
      error: implicit declaration of function ‘ioremap_nocache’ [-Werror=implicit-function-declaration]   cmt->mapbase = ioremap_nocache(mem->start, resource_size(mem));
    
    Signed-off-by: Richard Weinberger <[email protected]>
    Signed-off-by: Daniel Lezcano <[email protected]>
    Acked-by: Geert Uytterhoeven <[email protected]>
    Cc: [email protected]
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    richardweinberger authored and Ingo Molnar committed Mar 26, 2015
    Configuration menu
    Copy the full SHA
    11bc26f View commit details
    Browse the repository at this point in the history
  6. clocksource/drivers/sun5i: Fix cpufreq interaction with sched_clock()

    The sun5i timer is used as the sched-clock on certain systems, and ever
    since we started using cpufreq, the cpu clock (that is one of the
    timer's clock indirect parent) now changes as well, along with the
    actual sched_clock() rate.
    
    This is not accurate and not desirable.
    
    We can safely remove the sun5i sched-clock on those systems, since we
    have other reliable sched_clock() sources in the system.
    
    Tested-by: Hans de Goede <[email protected]>
    Signed-off-by: Maxime Ripard <[email protected]>
    Signed-off-by: Daniel Lezcano <[email protected]>
    [ Improved the changelog. ]
    Cc: [email protected]
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    mripard authored and Ingo Molnar committed Mar 26, 2015
    Configuration menu
    Copy the full SHA
    6e20602 View commit details
    Browse the repository at this point in the history
  7. ALSA: hda - Add one more node in the EAPD supporting candidate list

    We have a HP machine which use the codec node 0x17 connecting the
    internal speaker, and from the node capability, we saw the EAPD,
    if we don't set the EAPD on for this node, the internal speaker
    can't output any sound.
    
    Cc: <[email protected]>
    BugLink: https://bugs.launchpad.net/bugs/1436745
    Signed-off-by: Hui Wang <[email protected]>
    Signed-off-by: Takashi Iwai <[email protected]>
    jason77-wang authored and tiwai committed Mar 26, 2015
    Configuration menu
    Copy the full SHA
    af95b41 View commit details
    Browse the repository at this point in the history
  8. drm/i915: Fix atomic state when reusing the firmware fb

    Right now, we get a warning when taking over the firmware fb:
    
      [drm:drm_atomic_plane_check] FB set but no CRTC
    
    with the following backtrace:
    
      [<ffffffffa010339d>] drm_atomic_check_only+0x35d/0x510 [drm]
      [<ffffffffa0103567>] drm_atomic_commit+0x17/0x60 [drm]
      [<ffffffffa00a6ccd>] drm_atomic_helper_plane_set_property+0x8d/0xd0 [drm_kms_helper]
      [<ffffffffa00f1fed>] drm_mode_plane_set_obj_prop+0x2d/0x90 [drm]
      [<ffffffffa00a8a1b>] restore_fbdev_mode+0x6b/0xf0 [drm_kms_helper]
      [<ffffffffa00aa969>] drm_fb_helper_restore_fbdev_mode_unlocked+0x29/0x80 [drm_kms_helper]
      [<ffffffffa00aa9e2>] drm_fb_helper_set_par+0x22/0x50 [drm_kms_helper]
      [<ffffffffa050a71a>] intel_fbdev_set_par+0x1a/0x60 [i915]
      [<ffffffff813ad444>] fbcon_init+0x4f4/0x580
    
    That's because we update the plane state with the fb from the firmware, but we
    never associate the plane to that CRTC.
    
    We don't quite have the full DRM take over from HW state just yet, so
    fake enough of the plane atomic state to pass the checks.
    
    v2: Fix the state on which we set the CRTC in the case we're sharing the
        initial fb with another pipe. (Matt)
    
    Signed-off-by: Damien Lespiau <[email protected]>
    Reviewed-by: Matt Roper <[email protected]>
    Signed-off-by: Daniel Vetter <[email protected]>
    [Jani: backported to drm-intel-fixes for v4.0-rc]
    Reference: http://mid.gmane.org/CA+5PVA7yXH=U757w8V=Zj2U1URG4nYNav20NpjtQ4svVueyPNw@mail.gmail.com
    Reference: http://lkml.kernel.org/r/CA+55aFweWR=nDzc2Y=rCtL_H8JfdprQiCimN5dwc+TgyD4Bjsg@mail.gmail.com
    Signed-off-by: Jani Nikula <[email protected]>
    Damien Lespiau authored and jnikula committed Mar 26, 2015
    Configuration menu
    Copy the full SHA
    3164a80 View commit details
    Browse the repository at this point in the history
  9. drm/i915: Fixup legacy plane->crtc link for initial fb config

    This is a very similar bug in the load detect code fixed in
    
    commit 9128b04
    Author: Daniel Vetter <[email protected]>
    Date:   Tue Mar 3 17:31:21 2015 +0100
    
        drm/i915: Fix modeset state confusion in the load detect code
    
    But this time around it was the initial fb code that forgot to update
    the plane->crtc pointer. Otherwise it's the exact same bug, with the
    exact same restrains (any set_config call/ioctl that doesn't disable
    the pipe papers over the bug for free, so fairly hard to hit in normal
    testing). So if you want the full explanation just go read that one
    over there - it's rather long ...
    
    Cc: Matt Roper <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Chris Wilson <[email protected]>
    Cc: Josh Boyer <[email protected]>
    Cc: Jani Nikula <[email protected]>
    Reported-and-tested-by: Josh Boyer <[email protected]>
    Signed-off-by: Daniel Vetter <[email protected]>
    [Jani: backported to drm-intel-fixes for v4.0-rc]
    Reference: http://mid.gmane.org/CA+5PVA7ChbtJrknqws1qvZcbrg1CW2pQAFkSMURWWgyASRyGXg@mail.gmail.com
    Signed-off-by: Jani Nikula <[email protected]>
    danvet authored and jnikula committed Mar 26, 2015
    Configuration menu
    Copy the full SHA
    5f40775 View commit details
    Browse the repository at this point in the history
  10. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/s390/linux
    
    Pull s390 fixes from Martin Schwidefsky:
     "A couple of bug fixes for s390.
    
      The ftrace comile fix is quite large for a -rc6 release, but it would
      be nice to have it in 4.0"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
      s390/smp: reenable smt after resume
      s390/mm: limit STACK_RND_MASK for compat tasks
      s390/ftrace: fix compile error if CONFIG_KPROBES is disabled
      s390/cpum_sf: add diagnostic sampling event only if it is authorized
    torvalds committed Mar 26, 2015
    Configuration menu
    Copy the full SHA
    d6702d8 View commit details
    Browse the repository at this point in the history
  11. Merge tag 'drm-intel-fixes-2015-03-26' of git://anongit.freedesktop.o…

    …rg/drm-intel into drm-fixes
    
    This should cover the final warnings in -rc5 with two more backports
    from our development branch (drm-intel-next-queued). They're the ones
    from Daniel and Damien, with references to the reports.
    
    This is on top of drm-fixes because of the dependency on the two earlier
    fixes not yet in Linus' tree.
    
    There's an additional regression fix from Chris.
    
    * tag 'drm-intel-fixes-2015-03-26' of git://anongit.freedesktop.org/drm-intel:
      drm/i915: Fixup legacy plane->crtc link for initial fb config
      drm/i915: Fix atomic state when reusing the firmware fb
      drm/i915: Keep ring->active_list and ring->requests_list consistent
    airlied committed Mar 26, 2015
    Configuration menu
    Copy the full SHA
    9822393 View commit details
    Browse the repository at this point in the history
  12. Merge tag 'linux-kselftest-4.0-rc6' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/shuah/linux-kselftest
    
    Pull kselftest fix from Shuah Khan.
    
    * tag 'linux-kselftest-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
      selftests: Fix build failures when invoked from kselftest target
    torvalds committed Mar 26, 2015
    Configuration menu
    Copy the full SHA
    0e536e2 View commit details
    Browse the repository at this point in the history
  13. Merge tag 'dm-4.0-fix-2' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/device-mapper/linux-dm
    
    Pull device mapper fix from Mike Snitzer:
     "Fix DM core device cleanup regression -- due to a latent race that was
      exposed by the bdi changes that were introduced during the 4.0 merge"
    
    * tag 'dm-4.0-fix-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
      dm: fix add_disk() NULL pointer due to race with free_dev()
    torvalds committed Mar 26, 2015
    Configuration menu
    Copy the full SHA
    be8a9bc View commit details
    Browse the repository at this point in the history
  14. Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux

    Pull drm refcounting fixes from Dave Airlie:
     "Here is the complete set of i915 bug/warn/refcounting fixes"
    
    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
      drm/i915: Fixup legacy plane->crtc link for initial fb config
      drm/i915: Fix atomic state when reusing the firmware fb
      drm/i915: Keep ring->active_list and ring->requests_list consistent
      drm/i915: Don't try to reference the fb in get_initial_plane_config()
      drm: Fixup racy refcounting in plane_force_disable
    torvalds committed Mar 26, 2015
    Configuration menu
    Copy the full SHA
    3c435c1 View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2015

  1. watchdog: mtk_wdt: signedness bug in mtk_wdt_start()

    "ret" should be signed for the error handling to work correctly.  This
    doesn't matter much in real life since mtk_wdt_set_timeout() always
    succeeds.
    
    Signed-off-by: Dan Carpenter <[email protected]>
    Reviewed-by: Matthias Brugger <[email protected]>
    Reviewed-by: Guenter Roeck <[email protected]>
    Signed-off-by: Wim Van Sebroeck <[email protected]>
    Dan Carpenter authored and Wim Van Sebroeck committed Mar 27, 2015
    Configuration menu
    Copy the full SHA
    9ffd906 View commit details
    Browse the repository at this point in the history
  2. watchdog: imgpdc: Fix probe NULL pointer dereference

    The IMG PDC watchdog probe function calls pdc_wdt_stop() prior to
    watchdog_set_drvdata(), causing a NULL pointer dereference when
    pdc_wdt_stop() retrieves the struct pdc_wdt_dev pointer using
    watchdog_get_drvdata() and reads the register base address through it.
    
    Fix by moving the watchdog_set_drvdata() call earlier, to where various
    other pdc_wdt->wdt_dev fields are initialised.
    
    Fixes: 9393766 ("watchdog: ImgTec PDC Watchdog Timer Driver")
    Signed-off-by: James Hogan <[email protected]>
    Cc: Ezequiel Garcia <[email protected]>
    Cc: Naidu Tellapati <[email protected]>
    Cc: Jude Abraham <[email protected]>
    Cc: [email protected]
    Reviewed-by: Guenter Roeck <[email protected]>
    Signed-off-by: Wim Van Sebroeck <[email protected]>
    James Hogan authored and Wim Van Sebroeck committed Mar 27, 2015
    Configuration menu
    Copy the full SHA
    a629c08 View commit details
    Browse the repository at this point in the history
  3. watchdog: imgpdc: Fix default heartbeat

    The IMG PDC watchdog driver heartbeat module parameter has no default so
    it is initialised to zero. This results in the following warning during
    probe:
    
    imgpdc-wdt 2006000.wdt: Initial timeout out of range! setting max timeout
    
    The module parameter description implies that the default value should
    be PDC_WDT_DEF_TIMEOUT, which isn't yet used, so initialise it to that.
    
    Also tweak the heartbeat module parameter description for consistency.
    
    Fixes: 9393766 ("watchdog: ImgTec PDC Watchdog Timer Driver")
    Signed-off-by: James Hogan <[email protected]>
    Cc: Ezequiel Garcia <[email protected]>
    Cc: Naidu Tellapati <[email protected]>
    Cc: Jude Abraham <[email protected]>
    Cc: [email protected]
    Reviewed-by: Guenter Roeck <[email protected]>
    Signed-off-by: Wim Van Sebroeck <[email protected]>
    James Hogan authored and Wim Van Sebroeck committed Mar 27, 2015
    Configuration menu
    Copy the full SHA
    ae6ee2f View commit details
    Browse the repository at this point in the history
  4. Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/seli…

    …nux into for-linus
    James Morris committed Mar 27, 2015
    Configuration menu
    Copy the full SHA
    6416281 View commit details
    Browse the repository at this point in the history
  5. gpio: syscon: reduce message level when direction reg offset not in dt

    Now GPIO syscon driver produces bunch of warnings during the
    boot of Kesytone 2 SoCs:
     gpio-syscon soc:keystone_dsp_gpio@02620240: can't read the dir register offset!
     gpio-syscon soc:keystone_dsp_gpio@2620244: can't read the dir register offset!
    
    This message unintentionally was added using dev_err(), but its
    actual log level is debug, because third cell of "ti,syscon-dev" is
    optional.
    
    Hence change it to dev_dbg() as it should be.
    
    This patch fixes commit:
     5a3e3f8 ("gpio: syscon: retriave syscon node and regs offsets from dt")
    
    Reported-by: Russell King <[email protected]>
    Tested-by: Murali Karicheri <[email protected]>
    Acked-by: Santosh Shilimkar <[email protected]>
    Signed-off-by: Grygorii Strashko <[email protected]>
    Signed-off-by: Linus Walleij <[email protected]>
    Grygorii Strashko authored and linusw committed Mar 27, 2015
    Configuration menu
    Copy the full SHA
    c6ac19d View commit details
    Browse the repository at this point in the history
  6. locks: fix file_lock deletion inside loop

    locks_delete_lock_ctx() is called inside the loop, so we
    should use list_for_each_entry_safe.
    
    Fixes: 8634b51 (locks: convert lease handling to file_lock_context)
    Signed-off-by: "Yan, Zheng" <[email protected]>
    Signed-off-by: Jeff Layton <[email protected]>
    ukernel authored and Jeff Layton committed Mar 27, 2015
    Configuration menu
    Copy the full SHA
    a901125 View commit details
    Browse the repository at this point in the history
  7. libata: Update Crucial/Micron blacklist

    Micron has released an updated firmware (MU02) for M510/M550/MX100
    drives to fix the issues with queued TRIM. Queued TRIM remains broken on
    M500 but is working fine on later drives such as M600 and MX200.
    
    Tweak our blacklist to reflect the above.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=71371
    Signed-off-by: Martin K. Petersen <[email protected]>
    Cc: [email protected]
    Signed-off-by: Tejun Heo <[email protected]>
    martinkpetersen authored and htejun committed Mar 27, 2015
    Configuration menu
    Copy the full SHA
    ff7f53f View commit details
    Browse the repository at this point in the history
  8. libata: Blacklist queued TRIM on Samsung SSD 850 Pro

    Blacklist queued TRIM on this drive for now.
    
    Reported-by: Stefan Keller <[email protected]>
    Signed-off-by: Martin K. Petersen <[email protected]>
    CC: [email protected]
    Signed-off-by: Tejun Heo <[email protected]>
    martinkpetersen authored and htejun committed Mar 27, 2015
    Configuration menu
    Copy the full SHA
    6fc4d97 View commit details
    Browse the repository at this point in the history
  9. Merge tag 'sound-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/tiwai/sound
    
    Pull sound fixes from Takashi Iwai:
     "Three trivial oneliner fixes for HD-audio.
    
      Two are device-specific quirks while one is a generic fix for recent
      Realtek codecs"
    
    * tag 'sound-4.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
      ALSA: hda - Add one more node in the EAPD supporting candidate list
      ALSA: hda_intel: apply the Seperate stream_tag for Sunrise Point
      ALSA: hda - Add dock support for Thinkpad T450s (17aa:5036)
    torvalds committed Mar 27, 2015
    Configuration menu
    Copy the full SHA
    a7fe850 View commit details
    Browse the repository at this point in the history
  10. Merge git://www.linux-watchdog.org/linux-watchdog

    Pull watchdog fixes from Wim Van Sebroeck:
    
     - mtk_wdt: signedness bug in mtk_wdt_start()
    
     - imgpdc: Fix NULL pointer dereference during probe and fix the default
       heartbeat
    
    * git://www.linux-watchdog.org/linux-watchdog:
      watchdog: imgpdc: Fix default heartbeat
      watchdog: imgpdc: Fix probe NULL pointer dereference
      watchdog: mtk_wdt: signedness bug in mtk_wdt_start()
    torvalds committed Mar 27, 2015
    Configuration menu
    Copy the full SHA
    a39bdfb View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2015

  1. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/jmorris/linux-security
    
    Pull selinux bugfix from James Morris.
    
    Fix broken return value.
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
      selinux: fix sel_write_enforce broken return value
    torvalds committed Mar 28, 2015
    Configuration menu
    Copy the full SHA
    38ae1df View commit details
    Browse the repository at this point in the history
  2. Merge tag 'arc-4.0-fixes-part-2' of git://git.kernel.org/pub/scm/linu…

    …x/kernel/git/vgupta/arc
    
    Pull ARC fixes from Vineet Gupta:
     "We found some issues with signal handling taking down the system.  I
      know its late, but these are important and all marked for stable.
    
      ARC signal handling related fixes uncovered during recent testing of
      NPTL tools"
    
    * tag 'arc-4.0-fixes-part-2' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
      ARC: signal handling robustify
      ARC: SA_SIGINFO ucontext regs off-by-one
    torvalds committed Mar 28, 2015
    Configuration menu
    Copy the full SHA
    af0c11c View commit details
    Browse the repository at this point in the history
  3. Merge git://git.kernel.org/pub/scm/virt/kvm/kvm

    Pull kvm ppc bugfixes from Marcelo Tosatti.
    
    * git://git.kernel.org/pub/scm/virt/kvm/kvm:
      KVM: PPC: Book3S HV: Fix instruction emulation
      KVM: PPC: Book3S HV: Endian fix for accessing VPA yield count
      KVM: PPC: Book3S HV: Fix spinlock/mutex ordering issue in kvmppc_set_lpcr()
    torvalds committed Mar 28, 2015
    Configuration menu
    Copy the full SHA
    22824c5 View commit details
    Browse the repository at this point in the history
  4. Merge branch 'parisc-4.0-1' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/deller/parisc-linux
    
    Pull parsic fixes from Helge Deller:
     "One patch from Mikulas fixes a bug on parisc by artifically
      incrementing the counter in pmd_free when the kernel tries to free
      the preallocated pmd.
    
      Other than that we now prevent that syscalls gets added without
      incrementing __NR_Linux_syscalls and fix the initial pmd setup code
      if a default page size greater than 4k has been selected"
    
    * 'parisc-4.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
      parisc: Fix pmd code to depend on PT_NLEVELS value, not on CONFIG_64BIT
      parisc: mm: don't count preallocated pmds
      parisc: Add compile-time check when adding new syscalls
    torvalds committed Mar 28, 2015
    Configuration menu
    Copy the full SHA
    713d25d View commit details
    Browse the repository at this point in the history
  5. Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/s…

    …cm/linux/kernel/git/tip/tip
    
    Pull locking fix from Ingo Molnar:
     "A module unload lockdep race fix"
    
    * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      lockdep: Fix the module unload key range freeing logic
    torvalds committed Mar 28, 2015
    Configuration menu
    Copy the full SHA
    0fa7271 View commit details
    Browse the repository at this point in the history
  6. Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull perf fix from Ingo Molnar:
     "A perf kernel side fix for a fuzzer triggered lockup"
    
    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      perf: Fix irq_work 'tail' recursion
    torvalds committed Mar 28, 2015
    Configuration menu
    Copy the full SHA
    ee9b63d View commit details
    Browse the repository at this point in the history
  7. Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    Pull scheduler fix from Ingo Molnar:
     "A single sched/rt corner case fix for RLIMIT_RTIME correctness"
    
    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sched: Fix RLIMIT_RTTIME when PI-boosting to RT
    torvalds committed Mar 28, 2015
    Configuration menu
    Copy the full SHA
    19dba4f View commit details
    Browse the repository at this point in the history
  8. Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/sc…

    …m/linux/kernel/git/tip/tip
    
    Pull timer fixes from Ingo Molnar:
     "Two clocksource driver fixes, and an idle loop RCU warning fix"
    
    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      clocksource/drivers/sun5i: Fix cpufreq interaction with sched_clock()
      clocksource/drivers: Fix various !CONFIG_HAS_IOMEM build errors
      timers/tick/broadcast-hrtimer: Fix suspicious RCU usage in idle loop
    torvalds committed Mar 28, 2015
    Configuration menu
    Copy the full SHA
    4a89452 View commit details
    Browse the repository at this point in the history
  9. Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull x86 fix from Ingo Molnar:
     "Fix x86 syscall exit code bug that resulted in spurious non-execution
      of TIF-driven user-return worklets, causing big trouble for things
      like KVM that rely on user notifiers for correctness of their vcpu
      model, causing crashes like double faults"
    
    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/asm/entry: Check for syscall exit work with IRQs disabled
    torvalds committed Mar 28, 2015
    Configuration menu
    Copy the full SHA
    7fc377e View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2015

  1. Merge tag 'fixes-for-v4.0-rc5' of https://github.com/rjarzmik/linux i…

    …nto fixes
    
    arm: pxa: fixes for v4.0-rc5
    
    There are only 2 fixes, one for the zeus board about the regulator changes,
    where a typo prevented the zeus board from having a working can regulator,
    and one regression triggered by the interrupts IRQ shift of 16 affecting all
    boards.
    
    * tag 'fixes-for-v4.0-rc5' of https://github.com/rjarzmik/linux:
      ARM: pxa: fix pxa interrupts handling in DT
      ARM: pxa: Fix typo in zeus.c
    
    Signed-off-by: Olof Johansson <[email protected]>
    olofj committed Mar 29, 2015
    Configuration menu
    Copy the full SHA
    53b1a66 View commit details
    Browse the repository at this point in the history
  2. arm64: juno: Fix misleading name of UART reference clock

    The UART reference clock speed is 7273.8 kHz, not 72738 kHz.
    
    Dots aren't usually used in node names even though ePAPR permits
    them.  However, this can easily be avoided by expressing the
    frequency in Hz, not kHz.
    
    This patch changes the name to refclk7273800hz, reflecting the
    actual clock speed.
    
    Signed-off-by: Dave Martin <[email protected]>
    Acked-by: Liviu Dudau <[email protected]>
    Signed-off-by: Olof Johansson <[email protected]>
    Dave Martin authored and olofj committed Mar 29, 2015
    Configuration menu
    Copy the full SHA
    78d84bc View commit details
    Browse the repository at this point in the history
  3. Merge tag 'socfpga_fix_for_v4.0_2' of git://git.rocketboards.org/linu…

    …x-socfpga-next into fixes
    
    Late fix for v4.0 on the SoCFPGA platform:
    - Fix interrupt number for SPI1 interface
    
    * tag 'socfpga_fix_for_v4.0_2' of git://git.rocketboards.org/linux-socfpga-next:
      ARM: socfpga: dts: fix spi1 interrupt
    
    Signed-off-by: Olof Johansson <[email protected]>
    olofj committed Mar 29, 2015
    Configuration menu
    Copy the full SHA
    ebc0aa8 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'fixes-v4.0-rc4' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/tmlind/linux-omap into fixes
    
    Fixes for omaps for the -rc cycle:
    
    - Fix a device tree based booting vs legacy booting regression for
      omap3 crypto hardware by adding the missing DMA channels.
    
    - Fix /sys/bus/soc/devices/soc0/family for am33xx devices.
    
    - Fix two timer issues that can cause hangs if the timer related
      hwmod data is missing like it often initially is for new SoCs.
    
    - Remove pcie hwmods entry from dts as that causes runtime PM to
      fail for the PHYs.
    
    - A paper bag type dts configuration fix for dm816x GPIO
      interrupts that I just noticed. This is most of the changes
      diffstat wise, but as it's a basic feature for connecting
      devices and things work otherwise, it should be fixed.
    
    * tag 'fixes-v4.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
      ARM: dts: Fix gpio interrupts for dm816x
      ARM: dts: dra7: remove ti,hwmod property from pcie phy
      ARM: OMAP: dmtimer: disable pm runtime on remove
      ARM: OMAP: dmtimer: check for pm_runtime_get_sync() failure
      ARM: OMAP2+: Fix socbus family info for AM33xx devices
      ARM: dts: omap3: Add missing dmas for crypto
    
    Signed-off-by: Olof Johansson <[email protected]>
    olofj committed Mar 29, 2015
    Configuration menu
    Copy the full SHA
    b1dae3d View commit details
    Browse the repository at this point in the history
  5. Merge tag 'sunxi-fixes-for-4.0' of https://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/mripard/linux into fixes
    
    Allwinner fixes for 4.0
    
    There's a few fixes to merge for 4.0, one to add a select in the machine
    Kconfig option to fix a potential build failure, and two fixing cpufreq related
    issues.
    
    * tag 'sunxi-fixes-for-4.0' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
      ARM: dts: sunxi: Remove overclocked/overvoltaged OPP
      ARM: dts: sun4i: a10-lime: Override and remove 1008MHz OPP setting
      ARM: sunxi: Have ARCH_SUNXI select RESET_CONTROLLER for clock driver usage
    
    Signed-off-by: Olof Johansson <[email protected]>
    olofj committed Mar 29, 2015
    Configuration menu
    Copy the full SHA
    4550bdb View commit details
    Browse the repository at this point in the history
  6. Merge tag 'armsoc-for-linus' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/arm/arm-soc
    
    Pull ARM SoC fixes from Olof Johansson:
     "The latest and greatest fixes for ARM platform code.  Worth pointing
      out are:
    
       - Lines-wise, largest is a PXA fix for dealing with interrupts on DT
         that was quite broken.  It's still newish code so while we could
         have held this off, it seemed appropriate to include now
    
       - Some GPIO fixes for OMAP platforms added a few lines.  This was
         also fixes for code recently added (this release).
    
       - Small OMAP timer fix to behave better with partially upstreamed
         platforms, which is quite welcome.
    
       - Allwinner fixes about operating point control, reducing
         overclocking in some cases for better stability.
    
      plus a handful of other smaller fixes across the map"
    
    * tag 'armsoc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
      arm64: juno: Fix misleading name of UART reference clock
      ARM: dts: sunxi: Remove overclocked/overvoltaged OPP
      ARM: dts: sun4i: a10-lime: Override and remove 1008MHz OPP setting
      ARM: socfpga: dts: fix spi1 interrupt
      ARM: dts: Fix gpio interrupts for dm816x
      ARM: dts: dra7: remove ti,hwmod property from pcie phy
      ARM: OMAP: dmtimer: disable pm runtime on remove
      ARM: OMAP: dmtimer: check for pm_runtime_get_sync() failure
      ARM: OMAP2+: Fix socbus family info for AM33xx devices
      ARM: dts: omap3: Add missing dmas for crypto
      ARM: dts: rockchip: disable gmac by default in rk3288.dtsi
      MAINTAINERS: add rockchip regexp to the ARM/Rockchip entry
      ARM: pxa: fix pxa interrupts handling in DT
      ARM: pxa: Fix typo in zeus.c
      ARM: sunxi: Have ARCH_SUNXI select RESET_CONTROLLER for clock driver usage
    torvalds committed Mar 29, 2015
    Configuration menu
    Copy the full SHA
    08f41f7 View commit details
    Browse the repository at this point in the history
  7. Linux 4.0-rc6

    torvalds committed Mar 29, 2015
    Configuration menu
    Copy the full SHA
    e42391c View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2015

  1. Merge tag 'gpio-v4.0-3' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/linusw/linux-gpio
    
    Pull late GPIO fixes from Linus Walleij:
     "Here are the (hopefully) last GPIO fixes for v4.0.  Nothing
      controversial whatsoever, just fixes:
    
       - syscon GPIO fix for Keystone DSP GPIOs
    
       - pin number translation fix for ACPI GPIO
    
       - a smallish compiler warning fix on the mpc8xxx driver"
    
    * tag 'gpio-v4.0-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
      gpio: syscon: reduce message level when direction reg offset not in dt
      gpiolib: translate pin number in GPIO ACPI callbacks
      gpio: mpc8xxx: remove __initdata annotation for mpc8xxx_gpio_ids[]
    torvalds committed Mar 30, 2015
    Configuration menu
    Copy the full SHA
    29059af View commit details
    Browse the repository at this point in the history
  2. Merge branch 'for-4.0-fixes' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/tj/libata
    
    Pull libata fixes from Tejun Heo:
     "Nothing exciting.  Two patches to update queued trim blacklist"
    
    * 'for-4.0-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
      libata: Blacklist queued TRIM on Samsung SSD 850 Pro
      libata: Update Crucial/Micron blacklist
    torvalds committed Mar 30, 2015
    Configuration menu
    Copy the full SHA
    32374ea View commit details
    Browse the repository at this point in the history
  3. Merge tag 'locks-v4.0-5' of git://git.samba.org/jlayton/linux

    Pull file locking fix from Jeff Layton:
     "Another small fix for the lease overhaul"
    
    * tag 'locks-v4.0-5' of git://git.samba.org/jlayton/linux:
      locks: fix file_lock deletion inside loop
    torvalds committed Mar 30, 2015
    Configuration menu
    Copy the full SHA
    6c310bc View commit details
    Browse the repository at this point in the history