20 Nov, 2016

5 commits

  • This was reported by syzkaller:

    [ INFO: possible recursive locking detected ]
    4.9.0-rc4+ #49 Not tainted
    ---------------------------------------------
    kworker/2:1/5658 is trying to acquire lock:
    ([ 1644.769018] (&work->work)
    [< inline >] list_empty include/linux/compiler.h:243
    [] flush_work+0x0/0x660 kernel/workqueue.c:1511

    but task is already holding lock:
    ([ 1644.769018] (&work->work)
    [] process_one_work+0x94b/0x1900 kernel/workqueue.c:2093

    stack backtrace:
    CPU: 2 PID: 5658 Comm: kworker/2:1 Not tainted 4.9.0-rc4+ #49
    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
    Workqueue: events async_pf_execute
    ffff8800676ff630 ffffffff81c2e46b ffffffff8485b930 ffff88006b1fc480
    0000000000000000 ffffffff8485b930 ffff8800676ff7e0 ffffffff81339b27
    ffff8800676ff7e8 0000000000000046 ffff88006b1fcce8 ffff88006b1fccf0
    Call Trace:
    ...
    [] flush_work+0x93/0x660 kernel/workqueue.c:2846
    [] __cancel_work_timer+0x17a/0x410 kernel/workqueue.c:2916
    [] cancel_work_sync+0x17/0x20 kernel/workqueue.c:2951
    [] kvm_clear_async_pf_completion_queue+0xd7/0x400 virt/kvm/async_pf.c:126
    [< inline >] kvm_free_vcpus arch/x86/kvm/x86.c:7841
    [] kvm_arch_destroy_vm+0x23d/0x620 arch/x86/kvm/x86.c:7946
    [< inline >] kvm_destroy_vm virt/kvm/kvm_main.c:731
    [] kvm_put_kvm+0x40e/0x790 virt/kvm/kvm_main.c:752
    [] async_pf_execute+0x23d/0x4f0 virt/kvm/async_pf.c:111
    [] process_one_work+0x9fc/0x1900 kernel/workqueue.c:2096
    [] worker_thread+0xef/0x1480 kernel/workqueue.c:2230
    [] kthread+0x244/0x2d0 kernel/kthread.c:209
    [] ret_from_fork+0x2a/0x40 arch/x86/entry/entry_64.S:433

    The reason is that kvm_put_kvm is causing the destruction of the VM, but
    the page fault is still on the ->queue list. The ->queue list is owned
    by the VCPU, not by the work items, so we cannot just add list_del to
    the work item.

    Instead, use work->vcpu to note async page faults that have been resolved
    and will be processed through the done list. There is no need to flush
    those.

    Cc: Dmitry Vyukov
    Signed-off-by: Paolo Bonzini
    Signed-off-by: Radim Krčmář

    Paolo Bonzini
     
  • Userspace can read the exact value of kvmclock by reading the TSC
    and fetching the timekeeping parameters out of guest memory. This
    however is brittle and not necessary anymore with KVM 4.11. Provide
    a mechanism that lets userspace know if the new KVM_GET_CLOCK
    semantics are in effect, and---since we are at it---if the clock
    is stable across all VCPUs.

    Cc: Radim Krčmář
    Cc: Marcelo Tosatti
    Signed-off-by: Paolo Bonzini
    Signed-off-by: Radim Krčmář

    Paolo Bonzini
     
  • Function user_notifier_unregister should be called only once for each
    registered user notifier.

    Function kvm_arch_hardware_disable can be executed from an IPI context
    which could cause a race condition with a VCPU returning to user mode
    and attempting to unregister the notifier.

    Signed-off-by: Ignacio Alvarado
    Cc: stable@vger.kernel.org
    Fixes: 18863bdd60f8 ("KVM: x86 shared msr infrastructure")
    Reviewed-by: Paolo Bonzini
    Signed-off-by: Radim Krčmář

    Ignacio Alvarado
     
  • Going through the first VCPU is wrong if you follow a KVM_SET_CLOCK with
    a KVM_GET_CLOCK immediately after, without letting the VCPU run and
    call kvm_guest_time_update.

    To fix this, compute the kvmclock value ourselves, using the master
    clock (tsc, nsec) pair as the base and the host CPU frequency as
    the scale.

    Reported-by: Marcelo Tosatti
    Signed-off-by: Paolo Bonzini
    Signed-off-by: Radim Krčmář

    Paolo Bonzini
     
  • KVM/ARM updates for v4.9-rc6

    - Fix handling of the 32bit cycle counter
    - Fix cycle counter filtering

    Radim Krčmář
     

18 Nov, 2016

2 commits

  • KVM calls kvm_pmu_set_counter_event_type() when PMCCFILTR is configured.
    But this function can't deals with PMCCFILTR correctly because the evtCount
    bits of PMCCFILTR, which is reserved 0, conflits with the SW_INCR event
    type of other PMXEVTYPER registers. To fix it, when eventsel == 0, this
    function shouldn't return immediately; instead it needs to check further
    if select_idx is ARMV8_PMU_CYCLE_IDX.

    Another issue is that KVM shouldn't copy the eventsel bits of PMCCFILTER
    blindly to attr.config. Instead it ought to convert the request to the
    "cpu cycle" event type (i.e. 0x11).

    To support this patch and to prevent duplicated definitions, a limited
    set of ARMv8 perf event types were relocated from perf_event.c to
    asm/perf_event.h.

    Cc: stable@vger.kernel.org # 4.6+
    Acked-by: Will Deacon
    Signed-off-by: Wei Huang
    Signed-off-by: Marc Zyngier

    Wei Huang
     
  • We're missing the handling code for the cycle counter accessed
    from a 32bit guest, leading to unexpected results.

    Cc: stable@vger.kernel.org # 4.6+
    Signed-off-by: Wei Huang
    Signed-off-by: Marc Zyngier

    Wei Huang
     

14 Nov, 2016

13 commits

  • Linus Torvalds
     
  • Pull KVM fixes from Paolo Bonzini:
    "ARM fixes. There are a couple pending x86 patches but they'll have to
    wait for next week"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: arm/arm64: vgic: Kick VCPUs when queueing already pending IRQs
    KVM: arm/arm64: vgic: Prevent access to invalid SPIs
    arm/arm64: KVM: Perform local TLB invalidation when multiplexing vcpus on a single CPU

    Linus Torvalds
     
  • Merge media fixes from Mauro Carvalho Chehab:
    "This contains two patches fixing problems with my patch series meant
    to make USB drivers to work again after the DMA on stack changes.

    The last patch on this series is actually not related to DMA on stack.
    It solves a longstanding bug affecting module unload, causing
    module_put() to be called twice. It was reported by the user who
    reported and tested the issues with the gp8psk driver with the DMA
    fixup patches. As we're late at -rc cycle, maybe you prefer to not
    apply it right now. If this is the case, I'll add to the pile of
    patches for 4.10.

    Exceptionally this time, I'm sending the patches via e-mail, because
    I'm on another trip, and won't be able to use the usual procedure
    until Monday. Also, it is only three patches, and you followed already
    the discussions about the first one"

    * emailed patches from Mauro Carvalho Chehab :
    gp8psk: Fix DVB frontend attach
    gp8psk: fix gp8psk_usb_in_op() logic
    dvb-usb: move data_mutex to struct dvb_usb_device

    Linus Torvalds
     
  • Pull char/misc fixes from Greg KH:
    "Here are three small driver fixes for some reported issues for
    4.9-rc5.

    One for the hyper-v subsystem, fixing up a naming issue that showed up
    in 4.9-rc1, one mei driver fix, and one fix for parallel ports,
    resolving a reported regression.

    All have been in linux-next with no reported issues"

    * tag 'char-misc-4.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    ppdev: fix double-free of pp->pdev->name
    vmbus: make sysfs names consistent with PCI
    mei: bus: fix received data size check in NFC fixup

    Linus Torvalds
     
  • Pull driver core fixes from Greg KH:
    "Here are two driver core fixes for 4.9-rc5.

    The first resolves an issue with some drivers not liking to be unbound
    and bound again (if CONFIG_DEBUG_TEST_DRIVER_REMOVE is enabled), which
    solves some reported problems with graphics and storage drivers. The
    other resolves a smatch error with the 4.9-rc1 driver core changes
    around this feature.

    Both have been in linux-next with no reported issues"

    * tag 'driver-core-4.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    driver core: fix smatch warning on dev->bus check
    driver core: skip removal test for non-removable drivers

    Linus Torvalds
     
  • Pull staging/IIO fixes from Grek KH:
    "Here are a few small staging and iio driver fixes for reported issues.

    The last one was cherry-picked from my -next branch to resolve a build
    warning that Arnd fixed, in his quest to be able to turn
    -Wmaybe-uninitialized back on again. That patch, and all of the
    others, have been in linux-next for a while with no reported issues"

    * tag 'staging-4.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    iio: maxim_thermocouple: detect invalid storage size in read()
    staging: nvec: remove managed resource from PS2 driver
    Revert "staging: nvec: ps2: change serio type to passthrough"
    drivers: staging: nvec: remove bogus reset command for PS/2 interface
    staging: greybus: arche-platform: fix device reference leak
    staging: comedi: ni_tio: fix buggy ni_tio_clock_period_ps() return value
    staging: sm750fb: Fix bugs introduced by early commits
    iio: hid-sensors: Increase the precision of scale to fix wrong reading interpretation.
    iio: orientation: hid-sensor-rotation: Add PM function (fix non working driver)
    iio: st_sensors: fix scale configuration for h3lis331dl
    staging: iio: ad5933: avoid uninitialized variable in error case

    Linus Torvalds
     
  • Pull USB / PHY fixes from Greg KH:
    "Here are a number of small USB and PHY driver fixes for 4.9-rc5

    Nothing major, just small fixes for reported issues, all of these have
    been in linux-next for a while with no reported issues"

    * tag 'usb-4.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    USB: cdc-acm: fix TIOCMIWAIT
    cdc-acm: fix uninitialized variable
    drivers/usb: Skip auto handoff for TI and RENESAS usb controllers
    usb: musb: remove duplicated actions
    usb: musb: da8xx: Don't print phy error on -EPROBE_DEFER
    phy: sun4i: check PMU presence when poking unknown bit of pmu
    phy-rockchip-pcie: remove deassert of phy_rst from exit callback
    phy: da8xx-usb: rename the ohci device to ohci-da8xx
    phy: Add reset callback for not generic phy
    uwb: fix device reference leaks
    usb: gadget: u_ether: remove interrupt throttling
    usb: dwc3: st: add missing include
    usb: dwc3: Fix error handling for core init

    Linus Torvalds
     
  • Pull more block fixes from Jens Axboe:
    "Since I mistakenly left out the lightnvm regression fix yesterday and
    the aoeblk seems adequately tested at this point, might as well send
    out another pull to make -rc5"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    aoe: fix crash in page count manipulation
    lightnvm: invalid offset calculation for lba_shift

    Linus Torvalds
     
  • Pull SCSI fixes from James Bottomley:
    "The megaraid_sas patch in here fixes a major regression in the last
    fix set that made all megaraid_sas cards unusable. It turns out no-one
    had actually tested such an "obvious" fix, sigh. The fix for the fix
    has been tested ...

    The next most serious is the vmw_pvscsi abort problem which basically
    means that aborts don't work on the vmware paravirt devices and error
    handling always escalates to reset.

    The rest are an assortment of missed reference counting in certain
    paths and corner case bugs that show up on some architectures"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    scsi: megaraid_sas: fix macro MEGASAS_IS_LOGICAL to avoid regression
    scsi: qla2xxx: fix invalid DMA access after command aborts in PCI device remove
    scsi: qla2xxx: do not queue commands when unloading
    scsi: libcxgbi: fix incorrect DDP resource cleanup
    scsi: qla2xxx: Fix scsi scan hang triggered if adapter fails during init
    scsi: scsi_dh_alua: Fix a reference counting bug
    scsi: vmw_pvscsi: return SUCCESS for successful command aborts
    scsi: mpt3sas: Fix for block device of raid exists even after deleting raid disk
    scsi: scsi_dh_alua: fix missing kref_put() in alua_rtpg_work()

    Linus Torvalds
     
  • Pull clk fixes from Stephen Boyd:
    "The typical collection of minor bug fixes in clk drivers. We don't
    have anything in the core framework here, just driver fixes.

    There's a boot fix for Samsung devices and a safety measure for qoriq
    to prevent CPUs from running too fast. There's also a fix for i.MX6Q
    to properly handle audio clock rates. We also have some "that's
    obviously wrong" fixes like bad NULL pointer checks in the MPP driver
    and a poor usage of __pa in the xgene clk driver that are fixed here"

    * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
    clk: mmp: pxa910: fix return value check in pxa910_clk_init()
    clk: mmp: pxa168: fix return value check in pxa168_clk_init()
    clk: mmp: mmp2: fix return value check in mmp2_clk_init()
    clk: qoriq: Don't allow CPU clocks higher than starting value
    clk: imx: fix integer overflow in AV PLL round rate
    clk: xgene: Don't call __pa on ioremaped address
    clk/samsung: Use CLK_OF_DECLARE_DRIVER initialization method for CLKOUT
    clk: rockchip: don't return NULL when failing to register ddrclk branch

    Linus Torvalds
     
  • The DVB binding schema at the DVB core assumes that the frontend is a
    separate driver. Faling to do that causes OOPS when the module is
    removed, as it tries to do a symbol_put_addr on an internal symbol,
    causing craches like:

    WARNING: CPU: 1 PID: 28102 at kernel/module.c:1108 module_put+0x57/0x70
    Modules linked in: dvb_usb_gp8psk(-) dvb_usb dvb_core nvidia_drm(PO) nvidia_modeset(PO) snd_hda_codec_hdmi snd_hda_intel snd_hda_codec snd_hwdep snd_hda_core snd_pcm snd_timer snd soundcore nvidia(PO) [last unloaded: rc_core]
    CPU: 1 PID: 28102 Comm: rmmod Tainted: P WC O 4.8.4-build.1 #1
    Hardware name: MSI MS-7309/MS-7309, BIOS V1.12 02/23/2009
    Call Trace:
    dump_stack+0x44/0x64
    __warn+0xfa/0x120
    module_put+0x57/0x70
    module_put+0x57/0x70
    warn_slowpath_null+0x23/0x30
    module_put+0x57/0x70
    gp8psk_fe_set_frontend+0x460/0x460 [dvb_usb_gp8psk]
    symbol_put_addr+0x27/0x50
    dvb_usb_adapter_frontend_exit+0x3a/0x70 [dvb_usb]

    From Derek's tests:
    "Attach bug is fixed, tuning works, module unloads without
    crashing. Everything seems ok!"

    Reported-by: Derek
    Tested-by: Derek
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Linus Torvalds

    Mauro Carvalho Chehab
     
  • Commit bc29131ecb10 ("[media] gp8psk: don't do DMA on stack") fixed the
    usage of DMA on stack, but the memcpy was wrong for gp8psk_usb_in_op().
    Fix it.

    From Derek's email:
    "Fix confirmed using 2 different Skywalker models with
    HD mpeg4, SD mpeg2."

    Suggested-by: Johannes Stezenbach
    Fixes: bc29131ecb10 ("[media] gp8psk: don't do DMA on stack")
    Tested-by: Derek
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Linus Torvalds

    Mauro Carvalho Chehab
     
  • The data_mutex is initialized too late, as it is needed for
    each device driver's power control, causing an OOPS:

    dvb-usb: found a 'TerraTec/qanu USB2.0 Highspeed DVB-T Receiver' in warm state.
    BUG: unable to handle kernel NULL pointer dereference at (null)
    IP: [] __mutex_lock_slowpath+0x6f/0x100 PGD 0
    Oops: 0002 [#1] SMP
    Modules linked in: dvb_usb_cinergyT2(+) dvb_usb
    CPU: 0 PID: 2029 Comm: modprobe Not tainted 4.9.0-rc4-dvbmod #24
    Hardware name: FUJITSU LIFEBOOK A544/FJNBB35 , BIOS Version 1.17 05/09/2014
    task: ffff88020e943840 task.stack: ffff8801f36ec000
    RIP: 0010:[] [] __mutex_lock_slowpath+0x6f/0x100
    RSP: 0018:ffff8801f36efb10 EFLAGS: 00010282
    RAX: 0000000000000000 RBX: ffff88021509bdc8 RCX: 00000000c0000100
    RDX: 0000000000000001 RSI: 0000000000000000 RDI: ffff88021509bdcc
    RBP: ffff8801f36efb58 R08: ffff88021f216320 R09: 0000000000100000
    R10: ffff88021f216320 R11: 00000023fee6c5a1 R12: ffff88020e943840
    R13: ffff88021509bdcc R14: 00000000ffffffff R15: ffff88021509bdd0
    FS: 00007f21adb86740(0000) GS:ffff88021f200000(0000) knlGS:0000000000000000
    CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 0000000000000000 CR3: 0000000215bce000 CR4: 00000000001406f0
    Call Trace:
    mutex_lock+0x16/0x25
    cinergyt2_power_ctrl+0x1f/0x60 [dvb_usb_cinergyT2]
    dvb_usb_device_init+0x21e/0x5d0 [dvb_usb]
    cinergyt2_usb_probe+0x21/0x50 [dvb_usb_cinergyT2]
    usb_probe_interface+0xf3/0x2a0
    driver_probe_device+0x208/0x2b0
    __driver_attach+0x87/0x90
    driver_probe_device+0x2b0/0x2b0
    bus_for_each_dev+0x52/0x80
    bus_add_driver+0x1a3/0x220
    driver_register+0x56/0xd0
    usb_register_driver+0x77/0x130
    do_one_initcall+0x46/0x180
    free_vmap_area_noflush+0x38/0x70
    kmem_cache_alloc+0x84/0xc0
    do_init_module+0x50/0x1be
    load_module+0x1d8b/0x2100
    find_symbol_in_section+0xa0/0xa0
    SyS_finit_module+0x89/0x90
    entry_SYSCALL_64_fastpath+0x13/0x94
    Code: e8 a7 1d 00 00 8b 03 83 f8 01 0f 84 97 00 00 00 48 8b 43 10 4c 8d 7b 08 48 89 63 10 4c 89 3c 24 41 be ff ff ff ff 48 89 44 24 08 89 20 4c 89 64 24 10 eb 1a 49 c7 44 24 08 02 00 00 00 c6 43 RIP [] __mutex_lock_slowpath+0x6f/0x100 RSP
    CR2: 0000000000000000

    So, move it to the struct dvb_usb_device and initialize it
    before calling the driver's callbacks.

    Reported-by: Jörg Otte
    Tested-by: Jörg Otte
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Linus Torvalds

    Mauro Carvalho Chehab
     

13 Nov, 2016

1 commit

  • As found by gcc -Wmaybe-uninitialized, having a storage_bytes value other
    than 2 or 4 will result in undefined behavior:

    drivers/iio/temperature/maxim_thermocouple.c: In function 'maxim_thermocouple_read':
    drivers/iio/temperature/maxim_thermocouple.c:141:5: error: 'ret' may be used uninitialized in this function [-Werror=maybe-uninitialized]

    This probably cannot happen, but returning -EINVAL here is appropriate
    and makes gcc happy and the code more robust.

    Fixes: 231147ee77f3 ("iio: maxim_thermocouple: Align 16 bit big endian value of raw reads")
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Jonathan Cameron
    (cherry picked from commit 32cb7d27e65df9daa7cee8f1fdf7b259f214bee2)
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     

12 Nov, 2016

19 commits

  • aoeblk contains some mysterious code, that wants to elevate the bio
    vec page counts while it's under IO. That is not needed, it's
    fragile, and it's causing kernel oopses for some.

    Reported-by: Tested-by: Don Koch
    Tested-by: Tested-by: Don Koch
    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • The ns->lba_shift assumes its value to be the logarithmic of the
    LA size. A previous patch duplicated the lba_shift calculation into
    lightnvm. It prematurely also subtracted a 512byte shift, which commonly
    is applied per-command. The 512byte shift being subtracted twice led to
    data loss when restoring the logical to physical mapping table from
    device and when issuing I/O commands using rrpc.

    Fix offset by removing the 512byte shift subtraction when calculating
    lba_shift.

    Fixes: b0b4e09c1ae7 "lightnvm: control life of nvm_dev in driver"
    Reported-by: Javier González
    Signed-off-by: Matias Bjørling
    Signed-off-by: Jens Axboe

    Matias Bjørling
     
  • Pull ACPI fix from Rafael Wysocki:
    "Fix a recent regression in the 8250_dw serial driver introduced by
    adding a quirk for the APM X-Gene SoC to it which uncovered an issue
    related to the handling of built-in device properties in the core ACPI
    device enumeration code (Heikki Krogerus)"

    * tag 'acpi-4.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / platform: Add support for build-in properties

    Linus Torvalds
     
  • Pull power management fixes from Rafael Wysocki:
    "These fix two bugs in error code paths in the PM core (system-wide
    suspend of devices), a device reference leak in the boot-time suspend
    test code and a cpupower utility regression from the 4.7 cycle.

    Specifics:

    - Prevent the PM core from attempting to suspend parent devices if
    any of their children, whose suspend callbacks were invoked
    asynchronously, have failed to suspend during the "late" and
    "noirq" phases of system-wide suspend of devices (Brian Norris).

    - Prevent the boot-time system suspend test code from leaking a
    reference to the RTC device used by it (Johan Hovold).

    - Fix cpupower to use the return value of one of its library
    functions correctly and restore the correct behavior of it when
    used for setting cpufreq tunables broken during the 4.7 development
    cycle (Laura Abbott)"

    * tag 'pm-4.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PM / sleep: don't suspend parent when async child suspend_{noirq, late} fails
    PM / sleep: fix device reference leak in test_suspend
    cpupower: Correct return type of cpu_power_is_cpu_online() in cpufreq-set

    Linus Torvalds
     
  • Pull ARC fixes from Vineet Gupta:

    - mmap handler for dma ops as generic handler no longer works for us
    [Alexey]

    - Fixes for EZChip platform [Noam]

    - Fix RTC clocksource driver build issue

    - ARC IRQ handling fixes [Yuriy]

    - Revert a recent makefile change which doesn't go well with oldish
    tools out in the wild

    * tag 'arc-4.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARCv2: MCIP: Use IDU_M_DISTRI_DEST mode if there is only 1 destination core
    ARC: IRQ: Do not use hwirq as virq and vice versa
    ARC: [plat-eznps] set default baud for early console
    ARC: [plat-eznps] remove IPI clear from SMP operations
    Revert "ARC: build: retire old toggles"
    ARC: timer: rtc: implement read loop in "C" vs. inline asm
    ARC: change return value of userspace cmpxchg assist syscall
    arc: Implement arch-specific dma_map_ops.mmap
    ARC: [SMP] avoid overriding present cpumask
    ARC: Enable PERF_EVENTS in nSIM driven platforms

    Linus Torvalds
     
  • …linux-platform-drivers-x86

    Pull x86 platform driver fixes from Darren Hart:
    "Minor doc fix, a DMI match for ideapad and a fix to toshiba-wmi to
    avoid loading on non-toshiba systems.

    Documentation/ABI:
    - ibm_rtl: The "What:" fields are incomplete

    toshiba-wmi:
    - Fix loading the driver on non Toshiba laptops

    ideapad-laptop:
    - Add another DMI entry for Yoga 900"

    * tag 'platform-drivers-x86-v4.9-3' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86:
    Documentation/ABI: ibm_rtl: The "What:" fields are incomplete
    toshiba-wmi: Fix loading the driver on non Toshiba laptops
    ideapad-laptop: Add another DMI entry for Yoga 900

    Linus Torvalds
     
  • Pull block fixes from Jens Axboe:
    "Two small (really, one liners both of them!) fixes that should go into
    this series:

    - Request allocation error handling fix for nbd, from Christophe,
    fixing a regression in this series.

    - An oops fix for drbd. Not a regression in this series, but stable
    material. From Richard"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    drbd: Fix kernel_sendmsg() usage - potential NULL deref
    nbd: Fix error handling

    Linus Torvalds
     
  • Pull PCI fixes from Bjorn Helgaas:

    - Update MAINTAINERS for Intel VMD driver filename

    - Update Rockchip rk3399 host bridge driver DTS and resets

    - Fix ROM shadow problem that made some video device initialization
    fail

    * tag 'pci-v4.9-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    PCI: VMD: Update filename to reflect move
    arm64: dts: rockchip: add three new resets for rk3399 PCIe controller
    PCI: rockchip: Add three new resets as required properties
    PCI: Don't attempt to claim shadow copies of ROM

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "AMD, radeon, i915, imx, msm and udl fixes:

    - amdgpu/radeon have a number of power management regressions and
    fixes along with some better error checking

    - imx has a single regression fix

    - udl has a single kmalloc instead of stack for usb control msg fix

    - msm has some fixes for modesetting bugs and regressions

    - i915 has a one fix for a Sandybridge regression along with some
    others for DP audio.

    They all seem pretty okay at this stage, we've got one MST fix I know
    going through process for i915, but I expect it'll be next week"

    * tag 'drm-fixes-for-v4.9-rc5' of git://people.freedesktop.org/~airlied/linux: (30 commits)
    drm/udl: make control msg static const. (v2)
    drm/amd/powerplay: implement get_clock_by_type for iceland.
    drm/amd/powerplay/smu7: fix checks in smu7_get_evv_voltages (v2)
    drm/amd/powerplay: update phm_get_voltage_evv_on_sclk for iceland
    drm/amd/powerplay: propagate errors in phm_get_voltage_evv_on_sclk
    drm/imx: disable planes before DC
    drm/amd/powerplay: return false instead of -EINVAL
    drm/amdgpu/powerplay/smu7: fix unintialized data usage
    drm/amdgpu: fix crash in acp_hw_fini
    drm/i915: Limit Valleyview and earlier to only using mappable scanout
    drm/i915: Round tile chunks up for constructing partial VMAs
    drm/i915/dp: Extend BDW DP audio workaround to GEN9 platforms
    drm/i915/dp: BDW cdclk fix for DP audio
    drm/i915/vlv: Prevent enabling hpd polling in late suspend
    drm/i915: Respect alternate_ddc_pin for all DDI ports
    drm/msm: Fix error handling crashes seen when VRAM allocation fails
    drm/msm/mdp5: 8x16 actually has 8 mixer stages
    drm/msm/mdp5: no scaling support on RGBn pipes for 8x16
    drm/msm/mdp5: handle non-fullscreen base plane case
    drm/msm: Set CLK_IGNORE_UNUSED flag for PLL clocks
    ...

    Linus Torvalds
     
  • Pull MMC fixes from Ulf Hansson:
    "MMC core:
    - Fix mmc card initialization for hosts not supporting HW busy
    detection
    - Fix mmc_test for sending commands during non-blocking write

    MMC host:
    - mxs: Avoid using an uninitialized
    - sdhci: Restore enhanced strobe setting during runtime resume
    - sdhci: Fix a couple of reset related issues
    - dw_mmc: Fix a reset controller issue"

    * tag 'mmc-v4.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
    mmc: mxs: Initialize the spinlock prior to using it
    mmc: mmc: Use 500ms as the default generic CMD6 timeout
    mmc: mmc_test: Fix "Commands during non-blocking write" tests
    mmc: sdhci: Fix missing enhanced strobe setting during runtime resume
    mmc: sdhci: Reset cmd and data circuits after tuning failure
    mmc: sdhci: Fix unexpected data interrupt handling
    mmc: sdhci: Fix CMD line reset interfering with ongoing data transfer
    mmc: dw_mmc: add the "reset" as name of reset controller
    Documentation: synopsys-dw-mshc: add binding for reset-names

    Linus Torvalds
     
  • Pull pin control fixes from Linus Walleij:
    "All is about drivers, no core business going on.

    - Fix a host of runtime problems with the Intel Cherryview driver:
    suspend/resume needs to be marshalled properly, and strange effects
    from BIOS interaction during suspend/resume need to be dealt with.

    - A single bit was being set wrong in the Aspeed driver.

    - Fix an iProc probe ordering fallout resulting from v4.9
    refactorings for bus population.

    - Do not specify a default trigger in the ST Micro cascaded GPIO IRQ
    controller: the kernel will moan.

    - Make IRQs optional altogether on the STM32 driver, it turns out not
    all systems have them or want them.

    - Fix a re-probe bug in the i.MX driver, it will eventually crash if
    probed repeatedly, not good"

    * tag 'pinctrl-v4.9-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
    pinctrl-aspeed-g5: Never set SCU90[6]
    pinctrl: cherryview: Prevent possible interrupt storm on resume
    pinctrl: cherryview: Serialize register access in suspend/resume
    pinctrl: imx: reset group index on probe
    pinctrl: stm32: move gpio irqs binding to optional
    pinctrl: stm32: remove dependency with interrupt controller
    pinctrl: st: don't specify default interrupt trigger
    pinctrl: iproc: Fix iProc and NSP GPIO support

    Linus Torvalds
     
  • * pm-tools-fixes:
    cpupower: Correct return type of cpu_power_is_cpu_online() in cpufreq-set

    * pm-sleep-fixes:
    PM / sleep: don't suspend parent when async child suspend_{noirq, late} fails
    PM / sleep: fix device reference leak in test_suspend

    Rafael J. Wysocki
     
  • * device-properties:
    ACPI / platform: Add support for build-in properties

    Rafael J. Wysocki
     
  • Merge fixes for -Wmaybe-uninitialized from Arnd Bergmann:
    "It took a while for some patches to make it into mainline through
    maintainer trees, but the 28-patch series is now reduced to 10, with
    one tiny patch added at the end.

    Aside from patches that are no longer required, I did these changes
    compared to version 1:

    - Dropped "iio: maxim_thermocouple: detect invalid storage size in
    read()", which is currently in linux-next as commit 32cb7d27e65d.
    This is the only remaining warning I see for a couple of corner
    cases (kbuild bot reports it on blackfin, kernelci bot and arm-soc
    bot both report it on arm64)

    - Dropped "brcmfmac: avoid maybe-uninitialized warning in
    brcmf_cfg80211_start_ap", which is currently in net/master merge
    pending.

    - Dropped two x86 patches, "x86: math-emu: possible uninitialized
    variable use" and "x86: mark target address as output in 'insb'
    asm" as they do not seem to trigger for a default build, and I got
    no feedback on them. Both of these are ancient issues and seem
    harmless, I will send them again to the x86 maintainers once the
    rest is merged.

    - Dropped "rbd: false-postive gcc-4.9 -Wmaybe-uninitialized" based on
    feedback from Ilya Dryomov, who already has a different fix queued
    up for v4.10. The kbuild bot reports this as a warning for xtensa.

    - Replaced "crypto: aesni: avoid -Wmaybe-uninitialized warning" with
    a simpler patch, this one always triggers but my first solution
    would not be safe for linux-4.9 any more at this point. I'll follow
    up with the larger patch as a cleanup for 4.10.

    - Replaced "dib0700: fix nec repeat handling" with a better one,
    contributed by Sean Young"

    * -Wmaybe-uninitialized fixes:
    Kbuild: enable -Wmaybe-uninitialized warnings by default
    pcmcia: fix return value of soc_pcmcia_regulator_set
    infiniband: shut up a maybe-uninitialized warning
    crypto: aesni: shut up -Wmaybe-uninitialized warning
    rc: print correct variable for z8f0811
    dib0700: fix nec repeat handling
    s390: pci: don't print uninitialized data for debugging
    nios2: fix timer initcall return value
    x86: apm: avoid uninitialized data
    NFSv4.1: work around -Wmaybe-uninitialized warning
    Kbuild: enable -Wmaybe-uninitialized warning for "make W=1"

    Linus Torvalds
     
  • Merge misc fixes from Andrew Morton:
    "15 fixes"

    * emailed patches from Andrew Morton :
    lib/stackdepot: export save/fetch stack for drivers
    mm: kmemleak: scan .data.ro_after_init
    memcg: prevent memcg caches to be both OFF_SLAB & OBJFREELIST_SLAB
    coredump: fix unfreezable coredumping task
    mm/filemap: don't allow partially uptodate page for pipes
    mm/hugetlb: fix huge page reservation leak in private mapping error paths
    ocfs2: fix not enough credit panic
    Revert "console: don't prefer first registered if DT specifies stdout-path"
    mm: hwpoison: fix thp split handling in memory_failure()
    swapfile: fix memory corruption via malformed swapfile
    mm/cma.c: check the max limit for cma allocation
    scripts/bloat-o-meter: fix SIGPIPE
    shmem: fix pageflags after swapping DMA32 object
    mm, frontswap: make sure allocated frontswap map is assigned
    mm: remove extra newline from allocation stall warning

    Linus Torvalds
     
  • Pull VFS fixes from Al Viro:
    "Christoph's and Jan's aio fixes, fixup for generic_file_splice_read
    (removal of pointless detritus that actually breaks it when used for
    gfs2 ->splice_read()) and fixup for generic_file_read_iter()
    interaction with ITER_PIPE destinations."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    splice: remove detritus from generic_file_splice_read()
    mm/filemap: don't allow partially uptodate page for pipes
    aio: fix freeze protection of aio writes
    fs: remove aio_run_iocb
    fs: remove the never implemented aio_fsync file operation
    aio: hold an extra file reference over AIO read/write operations

    Linus Torvalds
     
  • Pull Ceph fixes from Ilya Dryomov:
    "Ceph's ->read_iter() implementation is incompatible with the new
    generic_file_splice_read() code that went into -rc1. Switch to the
    less efficient default_file_splice_read() for now; the proper fix is
    being held for 4.10.

    We also have a fix for a 4.8 regression and a trival libceph fixup"

    * tag 'ceph-for-4.9-rc5' of git://github.com/ceph/ceph-client:
    libceph: initialize last_linger_id with a large integer
    libceph: fix legacy layout decode with pool 0
    ceph: use default file splice read callback

    Linus Torvalds
     
  • Pull NFS client bugfixes from Anna Schumaker:
    "Most of these fix regressions in 4.9, and none are going to stable
    this time around.

    Bugfixes:
    - Trim extra slashes in v4 nfs_paths to fix tools that use this
    - Fix a -Wmaybe-uninitialized warnings
    - Fix suspicious RCU usages
    - Fix Oops when mounting multiple servers at once
    - Suppress a false-positive pNFS error
    - Fix a DMAR failure in NFS over RDMA"

    * tag 'nfs-for-4.9-3' of git://git.linux-nfs.org/projects/anna/linux-nfs:
    xprtrdma: Fix DMAR failure in frwr_op_map() after reconnect
    fs/nfs: Fix used uninitialized warn in nfs4_slot_seqid_in_use()
    NFS: Don't print a pNFS error if we aren't using pNFS
    NFS: Ignore connections that have cl_rpcclient uninitialized
    SUNRPC: Fix suspicious RCU usage
    NFSv4.1: work around -Wmaybe-uninitialized warning
    NFS: Trim extra slash in v4 nfs_path

    Linus Torvalds
     
  • …rnel/git/dgc/linux-xfs

    Pull xfs fix from Dave Chinner:
    "This is a fix for an unmount hang (regression) when the filesystem is
    shutdown. It was supposed to go to you for -rc3, but I accidentally
    tagged the commit prior to it in that pullreq.

    Summary:

    - fix for aborting deferred transactions on filesystem shutdown"

    * tag 'xfs-fixes-for-linus-4.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs:
    xfs: defer should abort intent items if the trans roll fails

    Linus Torvalds