1. 28 Aug, 2020 15 commits
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 96d454cd
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - Fix kernel build with the integrated LLVM assembler which doesn't see
         the -Wa,-march option.
      
       - Fix "make vdso_install" when COMPAT_VDSO is disabled.
      
       - Make KVM more robust if the AT S1E1R instruction triggers an
         exception (architecture corner cases).
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        KVM: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception
        KVM: arm64: Survive synchronous exceptions caused by AT instructions
        KVM: arm64: Add kvm_extable for vaxorcism code
        arm64: vdso32: make vdso32 install conditional
        arm64: use a common .arch preamble for inline assembly
      96d454cd
    • Herbert Xu's avatar
      kernel.h: Silence sparse warning in lower_32_bits · ef91bb19
      Herbert Xu authored
      I keep getting sparse warnings in crypto such as:
      
        CHECK   drivers/crypto/ccree/cc_hash.c
         drivers/crypto/ccree/cc_hash.c:49:9: warning: cast truncates bits from constant value (47b5481dbefa4fa4 becomes befa4fa4)
         drivers/crypto/ccree/cc_hash.c:49:26: warning: cast truncates bits from constant value (db0c2e0d64f98fa7 becomes 64f98fa7)
         [.. many more ..]
      
      This patch removes the warning by adding a mask to keep sparse
      happy.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ef91bb19
    • Linus Torvalds's avatar
      Merge tag 'writeback_for_v5.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · e3094285
      Linus Torvalds authored
      Pull writeback fixes from Jan Kara:
       "Fixes for writeback code occasionally skipping writeback of some
        inodes or livelocking sync(2)"
      
      * tag 'writeback_for_v5.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        writeback: Drop I_DIRTY_TIME_EXPIRE
        writeback: Fix sync livelock due to b_dirty_time processing
        writeback: Avoid skipping inode writeback
        writeback: Protect inode->i_io_list with inode->i_lock
      e3094285
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v5.9-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 40129b8c
      Linus Torvalds authored
      Pull gfs2 fix from Andreas Gruenbacher:
       "Fix a memory leak on filesystem withdraw.
      
        We didn't detect this bug because we have slab merging on by default
        (CONFIG_SLAB_MERGE_DEFAULT). Adding 'slub_nomerge' to the kernel
        command line exposed the problem"
      
      * tag 'gfs2-v5.9-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: add some much needed cleanup for log flushes that fail
      40129b8c
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-5.9-rc3' of git://github.com/ceph/ceph-client · b0bfd5ec
      Linus Torvalds authored
      Pull ceph fixes from Ilya Dryomov:
       "We have an inode number handling change, prompted by s390x which is a
        64-bit architecture with a 32-bit ino_t, a patch to disallow leases to
        avoid potential data integrity issues when CephFS is re-exported via
        NFS or CIFS and a fix for the bulk of W=1 compilation warnings"
      
      * tag 'ceph-for-5.9-rc3' of git://github.com/ceph/ceph-client:
        ceph: don't allow setlease on cephfs
        ceph: fix inode number handling on arches with 32-bit ino_t
        libceph: add __maybe_unused to DEFINE_CEPH_FEATURE
      b0bfd5ec
    • Linus Torvalds's avatar
      Merge tag 'mfd-fixes-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 3a7c3277
      Linus Torvalds authored
      Pull MFD fixes from Lee Jones:
      
       - fix double free
      
       - handle devicetree disabled devices gracefully
      
      * tag 'mfd-fixes-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd:
        mfd: mfd-core: Ensure disabled devices are ignored without error
        mfd: core: Fix double-free in mfd_remove_devices_fn()
      3a7c3277
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2020-08-28' of git://anongit.freedesktop.org/drm/drm · 5ec06b5c
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "As expected a bit of an rc3 uptick, amdgpu and msm are the main ones,
        one msm patch was from the merge window, but had dependencies and we
        dropped it until the other tree had landed. Otherwise it's a couple of
        fixes for core, and etnaviv, and single i915, exynos, omap fixes.
      
        I'm still tracking the Sandybridge gpu relocations issue, if we don't
        see much movement I might just queue up the reverts. I'll talk to
        Daniel next week once he's back from holidays.
      
        core:
         - Take modeset bkl for legacy drivers
      
        dp_mst:
         - Allow null crtc in dp_mst
      
        i915:
         - Fix command parser desc matching with masks
      
        amdgpu:
         - Misc display fixes
         - Backlight fixes
         - MPO fix for DCN1
         - Fixes for Sienna Cichlid
         - Fixes for Navy Flounder
         - Vega SW CTF fixes
         - SMU fix for Raven
         - Fix a possible overflow in INFO ioctl
         - Gfx10 clockgating fix
      
        msm:
         - opp/bw scaling patch followup
         - frequency restoring fux
         - vblank in atomic commit fix
         - dpu modesetting fixes
         - fencing fix
      
        etnaviv:
         - scheduler interaction fix
         - gpu init regression fix
      
        exynos:
         - Just drop __iommu annotation to fix sparse warning
      
        omap:
         - locking state fix"
      
      * tag 'drm-fixes-2020-08-28' of git://anongit.freedesktop.org/drm/drm: (41 commits)
        drm/amd/display: Fix memleak in amdgpu_dm_mode_config_init
        drm/amdgpu: disable runtime pm for navy_flounder
        drm/amd/display: Retry AUX write when fail occurs
        drm/amdgpu: Fix buffer overflow in INFO ioctl
        drm/amd/powerplay: Fix hardmins not being sent to SMU for RV
        drm/amdgpu: use MODE1 reset for navy_flounder by default
        drm/amd/pm: correct the thermal alert temperature limit settings
        drm/amdgpu: add asd fw check before loading asd
        drm/amd/display: Keep current gain when ABM disable immediately
        drm/amd/display: Fix passive dongle mistaken as active dongle in EDID emulation
        drm/amd/display: Revert HDCP disable sequence change
        drm/amd/display: Send DISPLAY_OFF after power down on boot
        drm/amdgpu/gfx10: refine mgcg setting
        drm/amd/pm: correct Vega20 swctf limit setting
        drm/amd/pm: correct Vega12 swctf limit setting
        drm/amd/pm: correct Vega10 swctf limit setting
        drm/amd/pm: set VCN pg per instances
        drm/amd/pm: enable run_btc callback for sienna_cichlid
        drivers: gpu: amd: Initialize amdgpu_dm_backlight_caps object to 0 in amdgpu_dm_update_backlight_caps
        drm/amd/display: Reject overlay plane configurations in multi-display scenarios
        ...
      5ec06b5c
    • James Morse's avatar
      KVM: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception · 71a7f8cb
      James Morse authored
      AT instructions do a translation table walk and return the result, or
      the fault in PAR_EL1. KVM uses these to find the IPA when the value is
      not provided by the CPU in HPFAR_EL1.
      
      If a translation table walk causes an external abort it is taken as an
      exception, even if it was due to an AT instruction. (DDI0487F.a's D5.2.11
      "Synchronous faults generated by address translation instructions")
      
      While we previously made KVM resilient to exceptions taken due to AT
      instructions, the device access causes mismatched attributes, and may
      occur speculatively. Prevent this, by forbidding a walk through memory
      described as device at stage2. Now such AT instructions will report a
      stage2 fault.
      
      Such a fault will cause KVM to restart the guest. If the AT instructions
      always walk the page tables, but guest execution uses the translation cached
      in the TLB, the guest can't make forward progress until the TLB entry is
      evicted. This isn't a problem, as since commit 5dcd0fdb ("KVM: arm64:
      Defer guest entry when an asynchronous exception is pending"), KVM will
      return to the host to process IRQs allowing the rest of the system to keep
      running.
      
      Cc: stable@vger.kernel.org # <v5.3: 5dcd0fdb ("KVM: arm64: Defer guest entry when an asynchronous exception is pending")
      Signed-off-by: default avatarJames Morse <james.morse@arm.com>
      Reviewed-by: default avatarMarc Zyngier <maz@kernel.org>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      71a7f8cb
    • James Morse's avatar
      KVM: arm64: Survive synchronous exceptions caused by AT instructions · 88a84ccc
      James Morse authored
      KVM doesn't expect any synchronous exceptions when executing, any such
      exception leads to a panic(). AT instructions access the guest page
      tables, and can cause a synchronous external abort to be taken.
      
      The arm-arm is unclear on what should happen if the guest has configured
      the hardware update of the access-flag, and a memory type in TCR_EL1 that
      does not support atomic operations. B2.2.6 "Possible implementation
      restrictions on using atomic instructions" from DDI0487F.a lists
      synchronous external abort as a possible behaviour of atomic instructions
      that target memory that isn't writeback cacheable, but the page table
      walker may behave differently.
      
      Make KVM robust to synchronous exceptions caused by AT instructions.
      Add a get_user() style helper for AT instructions that returns -EFAULT
      if an exception was generated.
      
      While KVM's version of the exception table mixes synchronous and
      asynchronous exceptions, only one of these can occur at each location.
      
      Re-enter the guest when the AT instructions take an exception on the
      assumption the guest will take the same exception. This isn't guaranteed
      to make forward progress, as the AT instructions may always walk the page
      tables, but guest execution may use the translation cached in the TLB.
      
      This isn't a problem, as since commit 5dcd0fdb ("KVM: arm64: Defer guest
      entry when an asynchronous exception is pending"), KVM will return to the
      host to process IRQs allowing the rest of the system to keep running.
      
      Cc: stable@vger.kernel.org # <v5.3: 5dcd0fdb ("KVM: arm64: Defer guest entry when an asynchronous exception is pending")
      Signed-off-by: default avatarJames Morse <james.morse@arm.com>
      Reviewed-by: default avatarMarc Zyngier <maz@kernel.org>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      88a84ccc
    • James Morse's avatar
      KVM: arm64: Add kvm_extable for vaxorcism code · e9ee186b
      James Morse authored
      KVM has a one instruction window where it will allow an SError exception
      to be consumed by the hypervisor without treating it as a hypervisor bug.
      This is used to consume asynchronous external abort that were caused by
      the guest.
      
      As we are about to add another location that survives unexpected exceptions,
      generalise this code to make it behave like the host's extable.
      
      KVM's version has to be mapped to EL2 to be accessible on nVHE systems.
      
      The SError vaxorcism code is a one instruction window, so has two entries
      in the extable. Because the KVM code is copied for VHE and nVHE, we end up
      with four entries, half of which correspond with code that isn't mapped.
      Signed-off-by: default avatarJames Morse <james.morse@arm.com>
      Reviewed-by: default avatarMarc Zyngier <maz@kernel.org>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      e9ee186b
    • Frank van der Linden's avatar
      arm64: vdso32: make vdso32 install conditional · 5d28ba5f
      Frank van der Linden authored
      vdso32 should only be installed if CONFIG_COMPAT_VDSO is enabled,
      since it's not even supposed to be compiled otherwise, and arm64
      builds without a 32bit crosscompiler will fail.
      
      Fixes: 8d75785a ("ARM64: vdso32: Install vdso32 from vdso_install")
      Signed-off-by: default avatarFrank van der Linden <fllinden@amazon.com>
      Cc: stable@vger.kernel.org [5.4+]
      Link: https://lore.kernel.org/r/20200827234012.19757-1-fllinden@amazon.comSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      5d28ba5f
    • Sami Tolvanen's avatar
      arm64: use a common .arch preamble for inline assembly · 1764c3ed
      Sami Tolvanen authored
      Commit 7c78f67e ("arm64: enable tlbi range instructions") breaks
      LLVM's integrated assembler, because -Wa,-march is only passed to
      external assemblers and therefore, the new instructions are not enabled
      when IAS is used.
      
      This change adds a common architecture version preamble, which can be
      used in inline assembly blocks that contain instructions that require
      a newer architecture version, and uses it to fix __TLBI_0 and __TLBI_1
      with ARM64_TLB_RANGE.
      
      Fixes: 7c78f67e ("arm64: enable tlbi range instructions")
      Signed-off-by: default avatarSami Tolvanen <samitolvanen@google.com>
      Tested-by: default avatarNathan Chancellor <natechancellor@gmail.com>
      Reviewed-by: default avatarNathan Chancellor <natechancellor@gmail.com>
      Link: https://github.com/ClangBuiltLinux/linux/issues/1106
      Link: https://lore.kernel.org/r/20200827203608.1225689-1-samitolvanen@google.comSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      1764c3ed
    • Lee Jones's avatar
      mfd: mfd-core: Ensure disabled devices are ignored without error · 22380b65
      Lee Jones authored
      Commit e49aa9a9bd22 ("mfd: core: Make a best effort attempt to match
      devices with the correct of_nodes") changed the semantics for disabled
      devices in mfd_add_device().  Instead of silently ignoring a disabled
      child device, an error was returned.  On receipt of the error
      mfd_add_devices() the precedes to remove *all* child devices and
      returns an all-failed error to the caller, which will inevitably fail
      the parent device as well.
      
      This patch reverts back to the old semantics and ignores child devices
      which are disabled in Device Tree.
      
      Fixes: e49aa9a9bd22 ("mfd: core: Make a best effort attempt to match devices with the correct of_nodes")
      Reported-by: default avatarIcenowy Zheng <icenowy@aosc.io>
      Tested-by: default avatarIcenowy Zheng <icenowy@aosc.io>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      22380b65
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2020-08-27' of... · 2a3f9da3
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2020-08-27' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
      
      drm/i915 fixes for v5.9-rc3:
      - Fix command parser desc matching with masks
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Jani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/87imd45ufw.fsf@intel.com
      2a3f9da3
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2020-08-26' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · c2b2f02a
      Dave Airlie authored
      Fixes for v5.9-rc2:
      - Take modeset bkl for legacy drivers.
      - Allow null crtc in dp_mst.
      - Omap locking state fix.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/7af1e52a-27de-8edc-d0b2-e23b01e8bc96@linux.intel.com
      c2b2f02a
  2. 27 Aug, 2020 4 commits
  3. 26 Aug, 2020 21 commits