1. 25 Sep, 2015 8 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · b6d980f4
      Linus Torvalds authored
      Pull KVM fixes from Paolo Bonzini:
       "AMD fixes for bugs introduced in the 4.2 merge window, and a few PPC
        bug fixes too"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: disable halt_poll_ns as default for s390x
        KVM: x86: fix off-by-one in reserved bits check
        KVM: x86: use correct page table format to check nested page table reserved bits
        KVM: svm: do not call kvm_set_cr0 from init_vmcb
        KVM: x86: trap AMD MSRs for the TSeg base and mask
        KVM: PPC: Book3S: Take the kvm->srcu lock in kvmppc_h_logical_ci_load/store()
        KVM: PPC: Book3S HV: Pass the correct trap argument to kvmhv_commence_exit
        KVM: PPC: Book3S HV: Fix handling of interrupted VCPUs
        kvm: svm: reset mmu on VCPU reset
      b6d980f4
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.3-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 57cb635c
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       - Wire up sys_membarrier()
       - cxl: Fix lockdep warning while creating afu_err_buff from Vaibhav
      
      * tag 'powerpc-4.3-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        cxl: Fix lockdep warning while creating afu_err_buff attribute
        powerpc: Wire up sys_membarrier()
      57cb635c
    • David Hildenbrand's avatar
      KVM: disable halt_poll_ns as default for s390x · 920552b2
      David Hildenbrand authored
      We observed some performance degradation on s390x with dynamic
      halt polling. Until we can provide a proper fix, let's enable
      halt_poll_ns as default only for supported architectures.
      
      Architectures are now free to set their own halt_poll_ns
      default value.
      Signed-off-by: default avatarDavid Hildenbrand <dahi@linux.vnet.ibm.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      920552b2
    • Paolo Bonzini's avatar
      KVM: x86: fix off-by-one in reserved bits check · 58c95070
      Paolo Bonzini authored
      29ecd660 ("KVM: x86: avoid uninitialized variable warning",
      2015-09-06) introduced a not-so-subtle problem, which probably
      escaped review because it was not part of the patch context.
      
      Before the patch, leaf was always equal to iterator.level.  After,
      it is equal to iterator.level - 1 in the call to is_shadow_zero_bits_set,
      and when is_shadow_zero_bits_set does another "-1" the check on
      reserved bits becomes incorrect.  Using "iterator.level" in the call
      fixes this call trace:
      
      WARNING: CPU: 2 PID: 17000 at arch/x86/kvm/mmu.c:3385 handle_mmio_page_fault.part.93+0x1a/0x20 [kvm]()
      Modules linked in: tun sha256_ssse3 sha256_generic drbg binfmt_misc ipv6 vfat fat fuse dm_crypt dm_mod kvm_amd kvm crc32_pclmul aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd fam15h_power amd64_edac_mod k10temp edac_core amdkfd amd_iommu_v2 radeon acpi_cpufreq
      [...]
      Call Trace:
        dump_stack+0x4e/0x84
        warn_slowpath_common+0x95/0xe0
        warn_slowpath_null+0x1a/0x20
        handle_mmio_page_fault.part.93+0x1a/0x20 [kvm]
        tdp_page_fault+0x231/0x290 [kvm]
        ? emulator_pio_in_out+0x6e/0xf0 [kvm]
        kvm_mmu_page_fault+0x36/0x240 [kvm]
        ? svm_set_cr0+0x95/0xc0 [kvm_amd]
        pf_interception+0xde/0x1d0 [kvm_amd]
        handle_exit+0x181/0xa70 [kvm_amd]
        ? kvm_arch_vcpu_ioctl_run+0x68b/0x1730 [kvm]
        kvm_arch_vcpu_ioctl_run+0x6f6/0x1730 [kvm]
        ? kvm_arch_vcpu_ioctl_run+0x68b/0x1730 [kvm]
        ? preempt_count_sub+0x9b/0xf0
        ? mutex_lock_killable_nested+0x26f/0x490
        ? preempt_count_sub+0x9b/0xf0
        kvm_vcpu_ioctl+0x358/0x710 [kvm]
        ? __fget+0x5/0x210
        ? __fget+0x101/0x210
        do_vfs_ioctl+0x2f4/0x560
        ? __fget_light+0x29/0x90
        SyS_ioctl+0x4c/0x90
        entry_SYSCALL_64_fastpath+0x16/0x73
      ---[ end trace 37901c8686d84de6 ]---
      Reported-by: default avatarBorislav Petkov <bp@alien8.de>
      Tested-by: default avatarBorislav Petkov <bp@alien8.de>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      58c95070
    • Paolo Bonzini's avatar
      KVM: x86: use correct page table format to check nested page table reserved bits · 6fec2144
      Paolo Bonzini authored
      Intel CPUID on AMD host or vice versa is a weird case, but it can
      happen.  Handle it by checking the host CPU vendor instead of the
      guest's in reset_tdp_shadow_zero_bits_mask.  For speed, the
      check uses the fact that Intel EPT has an X (executable) bit while
      AMD NPT has NX.
      Reported-by: default avatarBorislav Petkov <bp@alien8.de>
      Tested-by: default avatarBorislav Petkov <bp@alien8.de>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      6fec2144
    • Paolo Bonzini's avatar
      KVM: svm: do not call kvm_set_cr0 from init_vmcb · 79a8059d
      Paolo Bonzini authored
      kvm_set_cr0 may want to call kvm_zap_gfn_range and thus access the
      memslots array (SRCU protected).  Using a mini SRCU critical section
      is ugly, and adding it to kvm_arch_vcpu_create doesn't work because
      the VMX vcpu_create callback calls synchronize_srcu.
      
      Fixes this lockdep splat:
      
      ===============================
      [ INFO: suspicious RCU usage. ]
      4.3.0-rc1+ #1 Not tainted
      -------------------------------
      include/linux/kvm_host.h:488 suspicious rcu_dereference_check() usage!
      
      other info that might help us debug this:
      rcu_scheduler_active = 1, debug_locks = 0
      1 lock held by qemu-system-i38/17000:
       #0:  (&(&kvm->mmu_lock)->rlock){+.+...}, at: kvm_zap_gfn_range+0x24/0x1a0 [kvm]
      
      [...]
      Call Trace:
       dump_stack+0x4e/0x84
       lockdep_rcu_suspicious+0xfd/0x130
       kvm_zap_gfn_range+0x188/0x1a0 [kvm]
       kvm_set_cr0+0xde/0x1e0 [kvm]
       init_vmcb+0x760/0xad0 [kvm_amd]
       svm_create_vcpu+0x197/0x250 [kvm_amd]
       kvm_arch_vcpu_create+0x47/0x70 [kvm]
       kvm_vm_ioctl+0x302/0x7e0 [kvm]
       ? __lock_is_held+0x51/0x70
       ? __fget+0x101/0x210
       do_vfs_ioctl+0x2f4/0x560
       ? __fget_light+0x29/0x90
       SyS_ioctl+0x4c/0x90
       entry_SYSCALL_64_fastpath+0x16/0x73
      Reported-by: default avatarBorislav Petkov <bp@alien8.de>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      79a8059d
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · ced255c0
      Linus Torvalds authored
      Pull thermal management fixes from Zhang Rui:
      
       - Power allocator governor changes to allow binding on thermal zones
         with missing power estimates information.  From Javi Merino.
      
       - Add compile test flags on thermal drivers that allow it without
         producing compilation errors.  From Eduardo Valentin.
      
       - Fixes around memory allocation on cpu_cooling.  From Javi Merino.
      
       - Fix on db8500 cpufreq code to allow autoload.  From Luis de
         Bethencourt.
      
       - Maintainer entries for cpu cooling device
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        thermal: power_allocator: exit early if there are no cooling devices
        thermal: power_allocator: don't require tzp to be present for the thermal zone
        thermal: power_allocator: relax the requirement of two passive trip points
        thermal: power_allocator: relax the requirement of a sustainable_power in tzp
        thermal: Add a function to get the minimum power
        thermal: cpu_cooling: free power table on error or when unregistering
        thermal: cpu_cooling: don't call kcalloc() under rcu_read_lock
        thermal: db8500_cpufreq_cooling: Fix module autoload for OF platform driver
        thermal: cpu_cooling: Add MAINTAINERS entry
        thermal: ti-soc: Kconfig fix to avoid menu showing wrongly
        thermal: ti-soc: allow compile test
        thermal: qcom_spmi: allow compile test
        thermal: exynos: allow compile test
        thermal: armada: allow compile test
        thermal: dove: allow compile test
        thermal: kirkwood: allow compile test
        thermal: rockchip: allow compile test
        thermal: spear: allow compile test
        thermal: hisi: allow compile test
        thermal: Fix thermal_zone_of_sensor_register to match documentation
      ced255c0
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 4401555a
      Linus Torvalds authored
      Pull DeviceTree fixes from Rob Herring:
       - Silence bogus warning for of_irq_parse_pci
       - Fix typo in ARM idle-states binding doc and dts files
       - Various minor binding documentation updates
      
      * tag 'devicetree-fixes-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        Documentation: arm: Fix typo in the idle-states bindings examples
        gpio: mention in DT binding doc that <name>-gpio is deprecated
        of_pci_irq: Silence bogus "of_irq_parse_pci() failed ..." messages.
        devicetree: bindings: Extend the bma180 bindings with bma250 info
        of: thermal: Mark cooling-*-level properties optional
        of: thermal: Fix inconsitency between cooling-*-state and cooling-*-level
        Docs: dt: add #msi-cells to GICv3 ITS binding
        of: add vendor prefix for Socionext Inc.
      4401555a
  2. 24 Sep, 2015 12 commits
    • Lorenzo Pieralisi's avatar
      Documentation: arm: Fix typo in the idle-states bindings examples · a13f18f5
      Lorenzo Pieralisi authored
      The idle-states bindings mandate that the entry-method string
      in the idle-states node must be "psci" for ARM v8 64-bit systems,
      but the examples in the bindings report a wrong entry-method string.
      Owing to this typo, some dts in the kernel wrongly defined the
      entry-method property, since they likely cut and pasted the example
      definition without paying attention to the bindings definitions.
      
      This patch fixes the typo in the DT idle states bindings examples and
      respective dts in the kernel so that the bindings and related dts
      files are made compliant.
      Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Howard Chen <howard.chen@linaro.org>
      Cc: Rob Herring <robh+dt@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      a13f18f5
    • Javier Martinez Canillas's avatar
      gpio: mention in DT binding doc that <name>-gpio is deprecated · e7ae65ce
      Javier Martinez Canillas authored
      The gpiolib supports parsing DT properties of the form <name>-gpio but it
      was only added for compatibility with older DT bindings that got it wrong
      and should not be used in newer bindings.
      
      The commit that added support for this was:
      
      dd34c37a ("gpio: of: Allow -gpio suffix for property names")
      
      but didn't update the documentation to explain this so it's been a source
      of confusion. So let's make this clear in the GPIO DT binding doc.
      Signed-off-by: default avatarJavier Martinez Canillas <javier@osg.samsung.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      e7ae65ce
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · cc8b8fae
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Most of the GPU drivers people were at XDC last week, so I didn't get
        much to send, so I let it rollover until this week.
      
        Also Alex was away for 3 weeks so amdgpu/radeon got a bit more stuff
        than usual in one go.
      
        I've been trying to figure out some 4.2 issues with i915 still (that
        are fixed in 4.3, but bisecting ends up in a merge commit).  Hopefully
        next week I or i915 people can work that out"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (46 commits)
        drm: Allow also control clients to check the drm version
        drm/vmwgfx: Fix uninitialized return in vmw_kms_helper_dirty()
        drm/vmwgfx: Fix uninitialized return in vmw_cotable_unbind()
        drm/layerscape: fix handling fsl_dcu_drm_plane_index result
        drm/mgag200: Fix driver_load error handling
        drm/mgag200: Fix error handling paths in fbdev driver
        drm/qxl: only report first monitor as connected if we have no state
        drm/radeon: add quirk for MSI R7 370
        drm/amdgpu: Sprinkle drm_modeset_lock_all to appease locking checks
        drm/radeon: Sprinkle drm_modeset_lock_all to appease locking checks
        drm/amdgpu: sync ce and me with SWITCH_BUFFER(2)
        drm/amdgpu: integer overflow in amdgpu_mode_dumb_create()
        drm/amdgpu: info leak in amdgpu_gem_metadata_ioctl()
        drm/amdgpu: integer overflow in amdgpu_info_ioctl()
        drm/amdgpu: unwind properly in amdgpu_cs_parser_init()
        drm/amdgpu: Fix max_vblank_count value for current display engines
        drm/amdgpu: use kmemdup rather than duplicating its implementation
        drm/amdgpu: fix UVD suspend and resume for VI APU
        drm/amdgpu: fix the UVD suspend sequence order
        drm/amdgpu: make UVD handle checking more strict
        ...
      cc8b8fae
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · bfbaa60d
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "15 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        ocfs2/dlm: fix deadlock when dispatch assert master
        membarrier: clean up selftest
        vmscan: fix sane_reclaim helper for legacy memcg
        lib/iommu-common.c: do not try to deref a null iommu->lazy_flush() pointer when n < pool->hint
        x86, efi, kasan: #undef memset/memcpy/memmove per arch
        mm: migrate: hugetlb: putback destination hugepage to active list
        mm, dax: VMA with vm_ops->pfn_mkwrite wants to be write-notified
        userfaultfd: register uapi generic syscall (aarch64)
        userfaultfd: selftest: don't error out if pthread_mutex_t isn't identical
        userfaultfd: selftest: return an error if BOUNCE_VERIFY fails
        userfaultfd: selftest: avoid my_bcmp false positives with powerpc
        userfaultfd: selftest: only warn if __NR_userfaultfd is undefined
        userfaultfd: selftest: headers fixup
        userfaultfd: selftests: vm: pick up sanitized kernel headers
        userfaultfd: revert "userfaultfd: waitqueue: add nr wake parameter to __wake_up_locked_key"
      bfbaa60d
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2015-09-24' of git://anongit.freedesktop.org/drm-intel into drm-fixes · fd03420b
      Dave Airlie authored
      a few drm/i915 fixes, including a fix to the recent regression
      reported by Sedat Dilek
      
      * tag 'drm-intel-fixes-2015-09-24' of git://anongit.freedesktop.org/drm-intel:
        drm/i915/bios: handle MIPI Sequence Block v3+ gracefully
        drm/i915: Add primary plane to mask if it's visible
        drm/i915: workaround bad DSL readout v3
        drm/i915: fix kernel-doc warnings in intel_audio.c
      fd03420b
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v4.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · d5fc4f55
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A disappointingly large collection of fixes for SPI issues, though
        almost all in drivers (and there mainly the newly added Mediatek
        driver) and the core fixes are documentation and error handling.
      
        The driver fixes are all of the usual 'important if you see them'
        variety"
      
      * tag 'spi-fix-v4.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: xtensa-xtfpga: fix register endianness
        spi: meson: Fix module autoload for OF platform driver
        spi: mediatek: fix wrong error return value on probe
        spi: fix kernel-doc warnings in spi.h
        spi: spidev: fix possible NULL dereference
        spi: atmel: remove warning when !CONFIG_PM_SLEEP
        spi: bcm2835: BUG: fix wrong use of PAGE_MASK
        spi: mediatek: fix spi cs polarity error
        spi: Fix documentation of spi_alloc_master()
        spi: spi-pxa2xx: Check status register to determine if SSSR_TINT is disabled
        spi: Mediatek: Document devicetree bindings update for spi bus
        spi: mediatek: fix spi clock usage error
        spi: mediatek: remove clk_disable_unprepare()
      d5fc4f55
    • Linus Torvalds's avatar
      Merge tag 'regulator-fix-v4.3-rc2' of... · bbad8220
      Linus Torvalds authored
      Merge tag 'regulator-fix-v4.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
      
      Pull regulator fixes from Mark Brown:
       "A collection of fixes that came in since I tagged the merge window
        pull request for v4.3:
      
         - Error handling fixes in the core
      
         - Fixes to a couple of TI drivers for device specific issues
      
         - Several fixes for module autoloading"
      
      * tag 'regulator-fix-v4.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: vexpress: Fix module autoload for OF platform driver
        regulator: gpio: Fix module autoload for OF platform driver
        regulator: anatop: Fix module autoload for OF platform driver
        regulator: core: Correct return value check in regulator_resolve_supply
        regulator: tps65218: Fix missing zero typo
        regulator: pbias: program pbias register offset in pbias driver
        regulator: core: fix possible NULL dereference
      bbad8220
    • Linus Torvalds's avatar
      Merge tag 'dm-4.3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 5146c8e4
      Linus Torvalds authored
      Pull device mapper fixes from Mike Snitzer:
       "Two stable@ fixes:
      
         - DM thinp fix to properly advertise discard support as disabled for
           thin devices backed by a thin-pool with discard support disabled.
      
         - DM crypt fix to prevent the creation of bios that violate the
           underlying block device's max_segments limits.  This fixes a
           relatively long-standing NCQ SSD corruption issue reported against
           dm-crypt ever since the dm-crypt cpu parallelization patches were
           merged back in 4.0"
      
      * tag 'dm-4.3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm crypt: constrain crypt device's max_segment_size to PAGE_SIZE
        dm thin: disable discard support for thin devices if pool's is disabled
      5146c8e4
    • Dave Airlie's avatar
      Merge tag 'vmwgfx-fixes-4.3-150924' of git://people.freedesktop.org/~thomash/linux into drm-fixes · 0a3579e3
      Dave Airlie authored
      Pull request of 2015-09-24
      
      Vmwgfx fixes for 4.3:
       - A couple of uninitialized variable fixes by Christian Engelmayer
       - A TTM fix for a bug that causes problems with the new vmwgfx device init
       - A vmwgfx refcounting fix
       - A vmwgfx iomem caching fix
       - A DRM change to allow also control clients to read the drm driver version.
      
      * tag 'vmwgfx-fixes-4.3-150924' of git://people.freedesktop.org/~thomash/linux:
        drm: Allow also control clients to check the drm version
        drm/vmwgfx: Fix uninitialized return in vmw_kms_helper_dirty()
        drm/vmwgfx: Fix uninitialized return in vmw_cotable_unbind()
        drm/vmwgfx: Only build on X86
        drm/ttm: Fix memory space allocation v2
        drm/vmwgfx: Map the fifo as cached
        drm/vmwgfx: Fix up user_dmabuf refcounting
      0a3579e3
    • Thomas Hellstrom's avatar
      drm: Allow also control clients to check the drm version · 30c64664
      Thomas Hellstrom authored
      This should be harmless.
      Vmware will, due to old infrastructure reasons, be using a privileged
      control client to supply GUI layout information rather than obtaining
      it from the device. That control client will be needing access to DRM
      version information.
      Signed-off-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Reviewed-by: default avatarBrian Paul <brianp@vmware.com>
      Reviewed-by: default avatarSinclair Yeh <syeh@vmware.com>
      Acked-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      30c64664
    • Christian Engelmayer's avatar
      drm/vmwgfx: Fix uninitialized return in vmw_kms_helper_dirty() · f3b8c0ca
      Christian Engelmayer authored
      Function vmw_kms_helper_dirty() uses the uninitialized variable ret as
      return value. Make the result deterministic and directly return as the
      variable is unused anyway. Detected by Coverity CID 1324255.
      Signed-off-by: default avatarChristian Engelmayer <cengelma@gmx.at>
      Reviewed-by: default avatarSinclair Yeh <syeh@vmware.com>
      Reviewed-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      f3b8c0ca
    • Christian Engelmayer's avatar
      drm/vmwgfx: Fix uninitialized return in vmw_cotable_unbind() · 49558b47
      Christian Engelmayer authored
      Function vmw_cotable_unbind() uses the uninitialized variable ret as
      return value. Make the result deterministic and directly return as
      the variable is unused anyway. Detected by Coverity CID 1324256.
      Signed-off-by: default avatarChristian Engelmayer <cengelma@gmx.at>
      Reviewed-by: default avatarSinclair Yeh <syeh@vmware.com>
      Reviewed-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      49558b47
  3. 23 Sep, 2015 20 commits