1. 20 Feb, 2019 2 commits
    • Christian König's avatar
      drm/amdgpu: fix dma mask check in gmc_v6_0.c · 1fdafbd0
      Christian König authored
      This got messed up by "drm: change func to better detect wether swiotlb
      is needed".
      Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Reviewed-by: default avatarMichael D Labriola <michael.d.labriola@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/287070/
      1fdafbd0
    • Michael D Labriola's avatar
      drm: change func to better detect wether swiotlb is needed · 913b2cb7
      Michael D Labriola authored
      This commit fixes DRM failures on Xen PV systems that were introduced in
      v4.17 by the following commits:
      
      82626363 drm: add func to get max iomem address v2
      fd5fd480 drm/amdgpu: only enable swiotlb alloc when need v2
      1bc3d3cc drm/radeon: only enable swiotlb path when need v2
      
      The introduction of ->need_swiotlb to the ttm_dma_populate() conditionals
      in the radeon and amdgpu device drivers causes Gnome to immediately crash
      on Xen PV systems, returning the user to the login screen.  The following
      kernel errors get logged:
      
      [   28.554259] radeon_dp_aux_transfer_native: 200 callbacks suppressed
      [   31.219821] radeon 0000:01:00.0: swiotlb buffer is full (sz: 2097152 bytes)
      [   31.220030] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (16384000, 2, 4096, -14)
      [   31.226109] radeon 0000:01:00.0: swiotlb buffer is full (sz: 2097152 bytes)
      [   31.226300] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (16384000, 2, 4096, -14)
      [   31.300734] gnome-shell[1935]: segfault at 88 ip 00007f39151cd904 sp 00007ffc97611ad8 error 4 in libmutter-cogl.so[7f3915178000+aa000]
      [   31.300745] Code: 5f c3 0f 1f 40 00 48 8b 47 78 48 8b 40 40 ff e0 66 0f 1f 44 00 00 48 8b 47 78 48 8b 40 48 ff e0 66 0f 1f 44 00 00 48 8b 47 78 <48> 8b 80 88 00 00 00 ff e0 0f 1f 00 48 8b 47 78 48 8b 40 68 ff e0
      [   38.193302] radeon_dp_aux_transfer_native: 116 callbacks suppressed
      [   40.009317] radeon 0000:01:00.0: swiotlb buffer is full (sz: 2097152 bytes)
      [   40.009488] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (16384000, 2, 4096, -14)
      [   40.015114] radeon 0000:01:00.0: swiotlb buffer is full (sz: 2097152 bytes)
      [   40.015297] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (16384000, 2, 4096, -14)
      [   40.028302] gnome-shell[2431]: segfault at 2dadf40 ip 0000000002dadf40 sp 00007ffcd24ea5f8 error 15
      [   40.028306] Code: 20 6e 31 00 00 00 00 00 00 00 00 37 e3 3d 2d 7f 00 00 80 f4 e6 3d 2d 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <00> 00 00 00 00 00 00 00 c1 00 00 00 00 00 00 00 80 e1 d2 03 00 00
      
      This commit renames drm_get_max_iomem() to drm_need_swiotlb(), adds a
      xen_pv_domain() check to it, and moves the bit shifting comparison that
      always follows its usage into the function (simplifying the drm driver
      code).
      Signed-off-by: default avatarMichael D Labriola <michael.d.labriola@gmail.com>
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
      Link: https://patchwork.freedesktop.org/patch/286987/
      913b2cb7
  2. 19 Feb, 2019 22 commits
  3. 18 Feb, 2019 2 commits
  4. 17 Feb, 2019 14 commits
    • Linus Torvalds's avatar
      Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2fee036a
      Linus Torvalds authored
      Pull EFI fixes from Ingo Molnar:
       "This tree reverts a GICv3 commit (which was broken) and fixes it in
        another way, by adding a memblock build-time entries quirk for ARM64"
      
      * 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi/arm: Revert "Defer persistent reservations until after paging_init()"
        arm64, mm, efi: Account for GICv3 LPI tables in static memblock reserve table
      2fee036a
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8d33316d
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "Three changes:
      
         - An UV fix/quirk to pull UV BIOS calls into the efi_runtime_lock
           locking regime. (This done by aliasing __efi_uv_runtime_lock to
           efi_runtime_lock, which should make the quirk nature obvious and
           maintain the general policy that the EFI lock (name...) isn't
           exposed to drivers.)
      
         - Our version of MAGA: Make a.out Great Again.
      
         - Add a new Intel model name enumerator to an upstream header to help
           reduce dependencies going forward"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/platform/UV: Use efi_runtime_lock to serialise BIOS calls
        x86/CPU: Add Icelake model number
        x86/a.out: Clear the dump structure initially
      8d33316d
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dd6f29da
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "Two fixes on the kernel side: fix an over-eager condition that failed
        larger perf ring-buffer sizes, plus fix crashes in the Intel BTS code
        for a corner case, found by fuzzing"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/core: Fix impossible ring-buffer sizes warning
        perf/x86: Add check_period PMU callback
      dd6f29da
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.0-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · c5f1ac5e
      Linus Torvalds authored
      Pull powerpc fix from Michael Ellerman:
       "Just one fix, for pgd/pud_present() which were broken on big endian
        since v4.20, leading to possible data corruption.
      
        Thanks to: Aneesh Kumar K.V., Erhard F., Jan Kara"
      
      * tag 'powerpc-5.0-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/64s: Fix possible corruption on big endian due to pgd/pud_present()
      c5f1ac5e
    • Linus Torvalds's avatar
      Merge tag 'csky-for-linus-5.0-rc6' of git://github.com/c-sky/csky-linux · 0513ebc3
      Linus Torvalds authored
      Pull arch/csky fixes from Guo Ren:
       "Here are some fixup patches for 5.0-rc6"
      
      * tag 'csky-for-linus-5.0-rc6' of git://github.com/c-sky/csky-linux:
        csky: Fixup dead loop in show_stack
        csky: Fixup io-range page attribute for mmap("/dev/mem")
        csky: coding convention: Use task_stack_page
        csky: Fixup wrong pt_regs size
        csky: Fixup _PAGE_GLOBAL bit for 610 tlb entry
      0513ebc3
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 1653c2f2
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "Two more driver bugfixes"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: bcm2835: Clear current buffer pointers and counts after a transfer
        i2c: cadence: Fix the hold bit setting
      1653c2f2
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · b8c82b6a
      Linus Torvalds authored
      Pull input fixes from Dmitry Torokhov:
      
       - tweaks to Elan drivers (both PS/2 and I2C) to support new devices.
         Also revert of one of IDs as that device should really be driven by
         i2c-hid + hid-multitouch
      
       - a few drivers have been switched to set_brightness_blocking() call
         because they either were sleeping the their set_brightness()
         implementation or used workqueue but were not canceling it on unbind.
      
       - ps2-gpio and matrix_keypad needed to [properly] flush their works to
         avoid potential use-after-free on unbind.
      
       - other miscellaneous fixes.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: elan_i2c - add ACPI ID for touchpad in Lenovo V330-15ISK
        Input: st-keyscan - fix potential zalloc NULL dereference
        Input: apanel - switch to using brightness_set_blocking()
        Revert "Input: elan_i2c - add ACPI ID for touchpad in ASUS Aspire F5-573G"
        Input: qt2160 - switch to using brightness_set_blocking()
        Input: matrix_keypad - use flush_delayed_work()
        Input: ps2-gpio - flush TX work when closing port
        Input: cap11xx - switch to using set_brightness_blocking()
        Input: elantech - enable 3rd button support on Fujitsu CELSIUS H780
        Input: bma150 - register input device after setting private data
        Input: pwm-vibra - stop regulator after disabling pwm, not before
        Input: pwm-vibra - prevent unbalanced regulator
        Input: snvs_pwrkey - allow selecting driver for i.MX 7D
      b8c82b6a
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · ed0a0ec9
      Linus Torvalds authored
      Pull KVM fixes from Paolo Bonzini:
       "A somewhat bigger ARM update, and the usual smattering of x86 bug
        fixes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        kvm: vmx: Fix entry number check for add_atomic_switch_msr()
        KVM: x86: Recompute PID.ON when clearing PID.SN
        KVM: nVMX: Restore a preemption timer consistency check
        x86/kvm/nVMX: read from MSR_IA32_VMX_PROCBASED_CTLS2 only when it is available
        KVM: arm64: Forbid kprobing of the VHE world-switch code
        KVM: arm64: Relax the restriction on using stage2 PUD huge mapping
        arm: KVM: Add missing kvm_stage2_has_pmd() helper
        KVM: arm/arm64: vgic: Always initialize the group of private IRQs
        arm/arm64: KVM: Don't panic on failure to properly reset system registers
        arm/arm64: KVM: Allow a VCPU to fully reset itself
        KVM: arm/arm64: Reset the VCPU without preemption and vcpu state loaded
        arm64: KVM: Don't generate UNDEF when LORegion feature is present
        KVM: arm/arm64: vgic: Make vgic_cpu->ap_list_lock a raw_spinlock
        KVM: arm/arm64: vgic: Make vgic_dist->lpi_list_lock a raw_spinlock
        KVM: arm/arm64: vgic: Make vgic_irq->irq_lock a raw_spinlock
      ed0a0ec9
    • Mauro Ciancio's avatar
      Input: elan_i2c - add ACPI ID for touchpad in Lenovo V330-15ISK · 7ad222b3
      Mauro Ciancio authored
      This adds ELAN0617 to the ACPI table to support Elan touchpad found in
      Lenovo V330-15ISK.
      Signed-off-by: default avatarMauro Ciancio <mauro@acadeu.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      7ad222b3
    • Gabriel Fernandez's avatar
      Input: st-keyscan - fix potential zalloc NULL dereference · 2439d37e
      Gabriel Fernandez authored
      This patch fixes the following static checker warning:
      
      drivers/input/keyboard/st-keyscan.c:156 keyscan_probe()
      error: potential zalloc NULL dereference: 'keypad_data->input_dev'
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarGabriel Fernandez <gabriel.fernandez@st.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      2439d37e
    • Dmitry Torokhov's avatar
      Input: apanel - switch to using brightness_set_blocking() · 1cd48dc5
      Dmitry Torokhov authored
      Now that LEDs core allows "blocking" flavor of "set brightness" method we
      can use it and get rid of private work item. As a bonus, we are no longer
      forgetting to cancel it when we unbind the driver.
      Reviewed-by: default avatarSven Van Asbroeck <TheSven73@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      1cd48dc5
    • Michael Ellerman's avatar
      powerpc/64s: Fix possible corruption on big endian due to pgd/pud_present() · a5800762
      Michael Ellerman authored
      In v4.20 we changed our pgd/pud_present() to check for _PAGE_PRESENT
      rather than just checking that the value is non-zero, e.g.:
      
        static inline int pgd_present(pgd_t pgd)
        {
       -       return !pgd_none(pgd);
       +       return (pgd_raw(pgd) & cpu_to_be64(_PAGE_PRESENT));
        }
      
      Unfortunately this is broken on big endian, as the result of the
      bitwise & is truncated to int, which is always zero because
      _PAGE_PRESENT is 0x8000000000000000ul. This means pgd_present() and
      pud_present() are always false at compile time, and the compiler
      elides the subsequent code.
      
      Remarkably with that bug present we are still able to boot and run
      with few noticeable effects. However under some work loads we are able
      to trigger a warning in the ext4 code:
      
        WARNING: CPU: 11 PID: 29593 at fs/ext4/inode.c:3927 .ext4_set_page_dirty+0x70/0xb0
        CPU: 11 PID: 29593 Comm: debugedit Not tainted 4.20.0-rc1 #1
        ...
        NIP .ext4_set_page_dirty+0x70/0xb0
        LR  .set_page_dirty+0xa0/0x150
        Call Trace:
         .set_page_dirty+0xa0/0x150
         .unmap_page_range+0xbf0/0xe10
         .unmap_vmas+0x84/0x130
         .unmap_region+0xe8/0x190
         .__do_munmap+0x2f0/0x510
         .__vm_munmap+0x80/0x110
         .__se_sys_munmap+0x14/0x30
         system_call+0x5c/0x70
      
      The fix is simple, we need to convert the result of the bitwise & to
      an int before returning it.
      
      Thanks to Erhard, Jan Kara and Aneesh for help with debugging.
      
      Fixes: da7ad366 ("powerpc/mm/book3s: Update pmd_present to look at _PAGE_PRESENT bit")
      Cc: stable@vger.kernel.org # v4.20+
      Reported-by: default avatarErhard F. <erhard_f@mailbox.org>
      Reviewed-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      a5800762
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 64c0133e
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "This week is a much smaller update, containing fixes only for TI OMAP,
        NXP i.MX and Rockchips platforms:
      
        omap:
         - omap4 had problems with lost timer interrupts
         - another IRQ handling issue with OMAP5
         - A workaround for a regression in the pwm-omap-dmtimer driver
      
        NXP i.MX:
         - eMMC was broken on the new imx8mq-evk board
      
        Rockchip:
         - a fix for new dtc graph warnings and a regulator fix for rock64
         - USB support broke on rk3328-rock64"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        ARM: OMAP2+: fix lack of timer interrupts on CPU1 after hotplug
        arm64: dts: imx8mq: Fix boot from eMMC
        ARM: OMAP2+: Variable "reg" in function omap4_dsi_mux_pads() could be uninitialized
        ARM: dts: Configure clock parent for pwm vibra
        bus: ti-sysc: Fix timer handling with drop pm_runtime_irq_safe()
        arm64: dts: rockchip: enable usb-host regulators at boot on rk3328-rock64
        arm64: dts: rockchip: fix graph_port warning on rk3399 bob kevin and excavator
        ARM: OMAP5+: Fix inverted nirq pin interrupts with irq_set_type
        clocksource: timer-ti-dm: Fix pwm dmtimer usage of fck reparenting
        ARM: dts: rockchip: remove qos_cif1 from rk3188 power-domain
      64c0133e
    • Linus Torvalds's avatar
      Merge tag 'nfsd-5.0-2' of git://linux-nfs.org/~bfields/linux · 88fe73cb
      Linus Torvalds authored
      Pull more nfsd fixes from Bruce Fields:
       "Two small fixes, one for crashes using nfs/krb5 with older enctypes,
        one that could prevent clients from reclaiming state after a kernel
        upgrade"
      
      * tag 'nfsd-5.0-2' of git://linux-nfs.org/~bfields/linux:
        sunrpc: fix 4 more call sites that were using stack memory with a scatterlist
        Revert "nfsd4: return default lease period"
      88fe73cb