1. 21 May, 2022 10 commits
    • Pawan Gupta's avatar
      KVM: x86/speculation: Disable Fill buffer clear within guests · 027bbb88
      Pawan Gupta authored
      The enumeration of MD_CLEAR in CPUID(EAX=7,ECX=0).EDX{bit 10} is not an
      accurate indicator on all CPUs of whether the VERW instruction will
      overwrite fill buffers. FB_CLEAR enumeration in
      IA32_ARCH_CAPABILITIES{bit 17} covers the case of CPUs that are not
      vulnerable to MDS/TAA, indicating that microcode does overwrite fill
      buffers.
      
      Guests running in VMM environments may not be aware of all the
      capabilities/vulnerabilities of the host CPU. Specifically, a guest may
      apply MDS/TAA mitigations when a virtual CPU is enumerated as vulnerable
      to MDS/TAA even when the physical CPU is not. On CPUs that enumerate
      FB_CLEAR_CTRL the VMM may set FB_CLEAR_DIS to skip overwriting of fill
      buffers by the VERW instruction. This is done by setting FB_CLEAR_DIS
      during VMENTER and resetting on VMEXIT. For guests that enumerate
      FB_CLEAR (explicitly asking for fill buffer clear capability) the VMM
      will not use FB_CLEAR_DIS.
      
      Irrespective of guest state, host overwrites CPU buffers before VMENTER
      to protect itself from an MMIO capable guest, as part of mitigation for
      MMIO Stale Data vulnerabilities.
      Signed-off-by: default avatarPawan Gupta <pawan.kumar.gupta@linux.intel.com>
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      027bbb88
    • Pawan Gupta's avatar
      x86/speculation/mmio: Reuse SRBDS mitigation for SBDS · a992b8a4
      Pawan Gupta authored
      The Shared Buffers Data Sampling (SBDS) variant of Processor MMIO Stale
      Data vulnerabilities may expose RDRAND, RDSEED and SGX EGETKEY data.
      Mitigation for this is added by a microcode update.
      
      As some of the implications of SBDS are similar to SRBDS, SRBDS mitigation
      infrastructure can be leveraged by SBDS. Set X86_BUG_SRBDS and use SRBDS
      mitigation.
      
      Mitigation is enabled by default; use srbds=off to opt-out. Mitigation
      status can be checked from below file:
      
        /sys/devices/system/cpu/vulnerabilities/srbds
      Signed-off-by: default avatarPawan Gupta <pawan.kumar.gupta@linux.intel.com>
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      a992b8a4
    • Pawan Gupta's avatar
      x86/speculation/srbds: Update SRBDS mitigation selection · 22cac9c6
      Pawan Gupta authored
      Currently, Linux disables SRBDS mitigation on CPUs not affected by
      MDS and have the TSX feature disabled. On such CPUs, secrets cannot
      be extracted from CPU fill buffers using MDS or TAA. Without SRBDS
      mitigation, Processor MMIO Stale Data vulnerabilities can be used to
      extract RDRAND, RDSEED, and EGETKEY data.
      
      Do not disable SRBDS mitigation by default when CPU is also affected by
      Processor MMIO Stale Data vulnerabilities.
      Signed-off-by: default avatarPawan Gupta <pawan.kumar.gupta@linux.intel.com>
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      22cac9c6
    • Pawan Gupta's avatar
      x86/speculation/mmio: Add sysfs reporting for Processor MMIO Stale Data · 8d50cdf8
      Pawan Gupta authored
      Add the sysfs reporting file for Processor MMIO Stale Data
      vulnerability. It exposes the vulnerability and mitigation state similar
      to the existing files for the other hardware vulnerabilities.
      Signed-off-by: default avatarPawan Gupta <pawan.kumar.gupta@linux.intel.com>
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      8d50cdf8
    • Pawan Gupta's avatar
      x86/speculation/mmio: Enable CPU Fill buffer clearing on idle · 99a83db5
      Pawan Gupta authored
      When the CPU is affected by Processor MMIO Stale Data vulnerabilities,
      Fill Buffer Stale Data Propagator (FBSDP) can propagate stale data out
      of Fill buffer to uncore buffer when CPU goes idle. Stale data can then
      be exploited with other variants using MMIO operations.
      
      Mitigate it by clearing the Fill buffer before entering idle state.
      Signed-off-by: default avatarPawan Gupta <pawan.kumar.gupta@linux.intel.com>
      Co-developed-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
      Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      99a83db5
    • Pawan Gupta's avatar
      x86/bugs: Group MDS, TAA & Processor MMIO Stale Data mitigations · e5925fb8
      Pawan Gupta authored
      MDS, TAA and Processor MMIO Stale Data mitigations rely on clearing CPU
      buffers. Moreover, status of these mitigations affects each other.
      During boot, it is important to maintain the order in which these
      mitigations are selected. This is especially true for
      md_clear_update_mitigation() that needs to be called after MDS, TAA and
      Processor MMIO Stale Data mitigation selection is done.
      
      Introduce md_clear_select_mitigation(), and select all these mitigations
      from there. This reflects relationships between these mitigations and
      ensures proper ordering.
      Signed-off-by: default avatarPawan Gupta <pawan.kumar.gupta@linux.intel.com>
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      e5925fb8
    • Pawan Gupta's avatar
      x86/speculation/mmio: Add mitigation for Processor MMIO Stale Data · 8cb861e9
      Pawan Gupta authored
      Processor MMIO Stale Data is a class of vulnerabilities that may
      expose data after an MMIO operation. For details please refer to
      Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst.
      
      These vulnerabilities are broadly categorized as:
      
      Device Register Partial Write (DRPW):
        Some endpoint MMIO registers incorrectly handle writes that are
        smaller than the register size. Instead of aborting the write or only
        copying the correct subset of bytes (for example, 2 bytes for a 2-byte
        write), more bytes than specified by the write transaction may be
        written to the register. On some processors, this may expose stale
        data from the fill buffers of the core that created the write
        transaction.
      
      Shared Buffers Data Sampling (SBDS):
        After propagators may have moved data around the uncore and copied
        stale data into client core fill buffers, processors affected by MFBDS
        can leak data from the fill buffer.
      
      Shared Buffers Data Read (SBDR):
        It is similar to Shared Buffer Data Sampling (SBDS) except that the
        data is directly read into the architectural software-visible state.
      
      An attacker can use these vulnerabilities to extract data from CPU fill
      buffers using MDS and TAA methods. Mitigate it by clearing the CPU fill
      buffers using the VERW instruction before returning to a user or a
      guest.
      
      On CPUs not affected by MDS and TAA, user application cannot sample data
      from CPU fill buffers using MDS or TAA. A guest with MMIO access can
      still use DRPW or SBDR to extract data architecturally. Mitigate it with
      VERW instruction to clear fill buffers before VMENTER for MMIO capable
      guests.
      
      Add a kernel parameter mmio_stale_data={off|full|full,nosmt} to control
      the mitigation.
      Signed-off-by: default avatarPawan Gupta <pawan.kumar.gupta@linux.intel.com>
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      8cb861e9
    • Pawan Gupta's avatar
      x86/speculation: Add a common function for MD_CLEAR mitigation update · f52ea6c2
      Pawan Gupta authored
      Processor MMIO Stale Data mitigation uses similar mitigation as MDS and
      TAA. In preparation for adding its mitigation, add a common function to
      update all mitigations that depend on MD_CLEAR.
      
        [ bp: Add a newline in md_clear_update_mitigation() to separate
          statements better. ]
      Signed-off-by: default avatarPawan Gupta <pawan.kumar.gupta@linux.intel.com>
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      f52ea6c2
    • Pawan Gupta's avatar
      x86/speculation/mmio: Enumerate Processor MMIO Stale Data bug · 51802186
      Pawan Gupta authored
      Processor MMIO Stale Data is a class of vulnerabilities that may
      expose data after an MMIO operation. For more details please refer to
      Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst
      
      Add the Processor MMIO Stale Data bug enumeration. A microcode update
      adds new bits to the MSR IA32_ARCH_CAPABILITIES, define them.
      Signed-off-by: default avatarPawan Gupta <pawan.kumar.gupta@linux.intel.com>
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      51802186
    • Pawan Gupta's avatar
      Documentation: Add documentation for Processor MMIO Stale Data · 44194701
      Pawan Gupta authored
      Add the admin guide for Processor MMIO stale data vulnerabilities.
      Signed-off-by: default avatarPawan Gupta <pawan.kumar.gupta@linux.intel.com>
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      44194701
  2. 16 May, 2022 1 commit
  3. 15 May, 2022 8 commits
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.18-rc7' of... · 0cdd776e
      Linus Torvalds authored
      Merge tag 'driver-core-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core fixes from Greg KH:
       "Here is one fix, and three documentation updates for 5.18-rc7.
      
        The fix is for the firmware loader which resolves a long-reported
        problem where the credentials of the firmware loader could be set to a
        userspace process without enough permissions to actually load the
        firmware image. Many Android vendors have been reporting this for
        quite some time.
      
        The documentation updates are for the embargoed-hardware-issues.rst
        file to add a new entry, change an existing one, and sort the list to
        make changes easier in the future.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'driver-core-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        Documentation/process: Update ARM contact for embargoed hardware issues
        Documentation/process: Add embargoed HW contact for Ampere Computing
        Documentation/process: Make groups alphabetical and use tabs consistently
        firmware_loader: use kernel credentials when reading firmware
      0cdd776e
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 5becde60
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are two small driver fixes for 5.18-rc7 that resolve reported
        problems:
      
         - slimbus driver irq bugfix
      
         - interconnect sync state bugfix
      
        Both of these have been in linux-next with no reported problems"
      
      * tag 'char-misc-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        slimbus: qcom: Fix IRQ check in qcom_slim_probe
        interconnect: Restore sync state by ignoring ipa-virt in provider count
      5becde60
    • Linus Torvalds's avatar
      Merge tag 'tty-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 6811a466
      Linus Torvalds authored
      Pull tty/serial driver fixes from Greg KH:
       "Here are some small tty n_gsm and serial driver fixes for 5.18-rc7
        that resolve reported problems. They include:
      
         - n_gsm fixes for reported issues
      
         - 8250_mtk driver fixes for some platforms
      
         - fsl_lpuart driver fix for reported problem.
      
         - digicolor driver fix for reported problem.
      
        All have been in linux-next for a while with no reported problems"
      
      * tag 'tty-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        fsl_lpuart: Don't enable interrupts too early
        tty: n_gsm: fix invalid gsmtty_write_room() result
        tty: n_gsm: fix mux activation issues in gsm_config()
        tty: n_gsm: fix buffer over-read in gsm_dlci_data()
        serial: 8250_mtk: Fix register address for XON/XOFF character
        serial: 8250_mtk: Make sure to select the right FEATURE_SEL
        serial: 8250_mtk: Fix UART_EFR register address
        tty/serial: digicolor: fix possible null-ptr-deref in digicolor_uart_probe()
      6811a466
    • Linus Torvalds's avatar
      Merge tag 'usb-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · fc49583c
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are some small fixes for reported issues with some USB drivers.
        They include:
      
         - xhci fixes for xhci-mtk platform driver
      
         - typec driver fixes for reported problems.
      
         - cdc-wdm read-stuck fix
      
         - gadget driver fix for reported race condition
      
         - new usb-serial driver ids
      
        All of these have been in linux-next with no reported problems"
      
      * tag 'usb-5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: xhci-mtk: remove bandwidth budget table
        usb: xhci-mtk: fix fs isoc's transfer error
        usb: gadget: fix race when gadget driver register via ioctl
        usb: typec: tcpci_mt6360: Update for BMC PHY setting
        usb: gadget: uvc: allow for application to cleanly shutdown
        usb: typec: tcpci: Don't skip cleanup in .remove() on error
        usb: cdc-wdm: fix reading stuck on device close
        USB: serial: qcserial: add support for Sierra Wireless EM7590
        USB: serial: option: add Fibocom MA510 modem
        USB: serial: option: add Fibocom L610 modem
        USB: serial: pl2303: add device id for HP LM930 Display
      fc49583c
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.18-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · bc403203
      Linus Torvalds authored
      Pull powerpc fix from Michael Ellerman:
      
       - Fix KVM PR on 32-bit, which was broken by some MMU code refactoring.
      
      Thanks to: Alexander Graf, and Matt Evans.
      
      * tag 'powerpc-5.18-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        KVM: PPC: Book3S PR: Enable MSR_DR for switch_mmu_context()
      bc403203
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2022-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 79dc4fc2
      Linus Torvalds authored
      Pull x86 fix from Thomas Gleixner:
       "A single fix for the handling of unpopulated sub-pmd spaces.
      
        The copy & pasta from the corresponding s390 code screwed up the
        address calculation for marking the sub-pmd ranges via memset by
        omitting the ALIGN_DOWN() to calculate the proper start address.
      
        It's a mystery why this code is not generic and shared because there
        is nothing architecture specific in there, but that's too intrusive
        for a backportable fix"
      
      * tag 'x86-urgent-2022-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Fix marking of unused sub-pmd ranges
      79dc4fc2
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2022-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 990e798d
      Linus Torvalds authored
      Pull scheduler fix from Thomas Gleixner:
       "The recent expansion of the sched switch tracepoint inserted a new
        argument in the middle of the arguments. This reordering broke BPF
        programs which relied on the old argument list.
      
        While tracepoints are not considered stable ABI, it's not trivial to
        make BPF cope with such a change, but it's being worked on. For now
        restore the original argument order and move the new argument to the
        end of the argument list"
      
      * tag 'sched-urgent-2022-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/tracing: Append prev_state to tp args instead
      990e798d
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2022-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fb756280
      Linus Torvalds authored
      Pull irq fix from Thomas Gleixner:
       "A single fix for a recent (introduced in 5.16) regression in the core
        interrupt code.
      
        The consolidation of the interrupt handler invocation code added an
        unconditional warning when generic_handle_domain_irq() is invoked from
        outside hard interrupt context. That's overbroad as the requirement
        for invoking these handlers in hard interrupt context is only required
        for certain interrupt types. The subsequently called code already
        contains a warning which triggers conditionally for interrupt chips
        which indicate this requirement in their properties.
      
        Remove the overbroad one"
      
      * tag 'irq-urgent-2022-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        genirq: Remove WARN_ON_ONCE() in generic_handle_domain_irq()
      fb756280
  4. 14 May, 2022 1 commit
  5. 13 May, 2022 20 commits
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2022-05-14' of git://anongit.freedesktop.org/drm/drm · ec7f4961
      Linus Torvalds authored
      Pull more drm fixes from Dave Airlie:
       "Turns out I was right, some fixes hadn't made it to me yet. The vmwgfx
        ones also popped up later, but all seem like bad enough things to fix.
        The dma-buf, vc4 and nouveau ones are all pretty small.
      
        The fbdev fixes are a bit more complicated: a fix to cleanup fbdev
        devices properly, uncovered some use-after-free bugs in existing
        drivers. Then the fix for those bugs wasn't correct. This reverts that
        fix, and puts the proper fixes in place in the drivers to avoid the
        use-after-frees.
      
        This has had a fair number of eyes on it at this stage, and I'm
        confident enough that it puts things in the right place, and is less
        dangerous than reverting our way out of the initial change at this
        stage.
      
        fbdev:
         - revert NULL deref fix that turned into a use-after-free
         - prevent use-after-free in fbdev
         - efifb/simplefb/vesafb: fix cleanup paths to avoid use-after-frees
      
        dma-buf:
         - fix panic in stats setup
      
        vc4:
         - fix hdmi build
      
        nouveau:
         - tegra iommu present fix
         - fix leak in backlight name
      
        vmwgfx:
         - Black screen due to fences using FIFO checks on SVGA3
         - Random black screens on boot due to uninitialized drm_mode_fb_cmd2
         - Hangs on SVGA3 due to command buffers being used with gbobjects"
      
      * tag 'drm-fixes-2022-05-14' of git://anongit.freedesktop.org/drm/drm:
        drm/vmwgfx: Disable command buffers on svga3 without gbobjects
        drm/vmwgfx: Initialize drm_mode_fb_cmd2
        drm/vmwgfx: Fix fencing on SVGAv3
        drm/vc4: hdmi: Fix build error for implicit function declaration
        dma-buf: call dma_buf_stats_setup after dmabuf is in valid list
        fbdev: efifb: Fix a use-after-free due early fb_info cleanup
        drm/nouveau: Fix a potential theorical leak in nouveau_get_backlight_name()
        drm/nouveau/tegra: Stop using iommu_present()
        fbdev: vesafb: Cleanup fb_info in .fb_destroy rather than .remove
        fbdev: efifb: Cleanup fb_info in .fb_destroy rather than .remove
        fbdev: simplefb: Cleanup fb_info in .fb_destroy rather than .remove
        fbdev: Prevent possible use-after-free in fb_release()
        Revert "fbdev: Make fb_release() return -ENODEV if fbdev was unregistered"
      ec7f4961
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2022-05-13' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · eb7bac39
      Dave Airlie authored
      Multiple fixes to fbdev to address a regression at unregistration, an
      iommu detection improvement for nouveau, a memory leak fix for nouveau,
      pointer dereference fix for dma_buf_file_release(), and a build breakage
      fix for vc4
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maxime Ripard <maxime@cerno.tech>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220513073044.ymayac7x7bzatrt7@houat
      eb7bac39
    • Dave Airlie's avatar
      Merge tag 'vmwgfx-drm-fixes-5.18-2022-05-13' of... · 30c60ba3
      Dave Airlie authored
      Merge tag 'vmwgfx-drm-fixes-5.18-2022-05-13' of https://gitlab.freedesktop.org/zack/vmwgfx into drm-fixes
      
      vmwgfx fixes for:
      - Black screen due to fences using FIFO checks on SVGA3
      - Random black screens on boot due to uninitialized drm_mode_fb_cmd2
      - Hangs on SVGA3 due to command buffers being used with gbobjects
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Zack Rusin <zackr@vmware.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/a1d32799e4c74b8540216376d7576bb783ca07ba.camel@vmware.com
      30c60ba3
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v5.18-rc4-fix3' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · d928e8f3
      Linus Torvalds authored
      Pull gfs2 fixes from Andreas Gruenbacher:
       "We've finally identified commit dc732906 ("gfs2: Introduce flag
        for glock holder auto-demotion") to be the other cause of the
        filesystem corruption we've been seeing. This feature isn't strictly
        necessary anymore, so we've decided to stop using it for now.
      
        With this and the gfs_iomap_end rounding fix you've already seen
        ("gfs2: Fix filesystem block deallocation for short writes" in this
        pull request), we're corruption free again now.
      
         - Fix filesystem block deallocation for short writes.
      
         - Stop using glock holder auto-demotion for now.
      
         - Get rid of buffered writes inefficiencies due to page faults being
           disabled.
      
         - Minor other cleanups"
      
      * tag 'gfs2-v5.18-rc4-fix3' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Stop using glock holder auto-demotion for now
        gfs2: buffered write prefaulting
        gfs2: Align read and write chunks to the page cache
        gfs2: Pull return value test out of should_fault_in_pages
        gfs2: Clean up use of fault_in_iov_iter_{read,write}able
        gfs2: Variable rename
        gfs2: Fix filesystem block deallocation for short writes
      d928e8f3
    • Andreas Gruenbacher's avatar
      gfs2: Stop using glock holder auto-demotion for now · e1fa9ea8
      Andreas Gruenbacher authored
      We're having unresolved issues with the glock holder auto-demotion mechanism
      introduced in commit dc732906.  This mechanism was assumed to be essential
      for avoiding frequent short reads and writes until commit 296abc0d
      ("gfs2: No short reads or writes upon glock contention").  Since then,
      when the inode glock is lost, it is simply re-acquired and the operation
      is resumed.  This means that apart from the performance penalty, we
      might as well drop the inode glock before faulting in pages, and
      re-acquire it afterwards.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      e1fa9ea8
    • Andreas Gruenbacher's avatar
      gfs2: buffered write prefaulting · fa5dfa64
      Andreas Gruenbacher authored
      In gfs2_file_buffered_write, to increase the likelihood that all the
      user memory we're trying to write will be resident in memory, carry out
      the write in chunks and fault in each chunk of user memory before trying
      to write it.  Otherwise, some workloads will trigger frequent short
      "internal" writes, causing filesystem blocks to be allocated and then
      partially deallocated again when writing into holes, which is wasteful
      and breaks reservations.
      
      Neither the chunked writes nor any of the short "internal" writes are
      user visible.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      fa5dfa64
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · f2dd0074
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Four fixes, all in drivers.
      
        These patches mosly fix error legs and exceptional conditions
        (scsi_dh_alua, qla2xxx). The lpfc fixes are for coding issues with
        lpfc features"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: lpfc: Correct BDE DMA address assignment for GEN_REQ_WQE
        scsi: lpfc: Fix split code for FLOGI on FCoE
        scsi: qla2xxx: Fix missed DMA unmap for aborted commands
        scsi: scsi_dh_alua: Properly handle the ALUA transitioning state
      f2dd0074
    • Andreas Gruenbacher's avatar
      gfs2: Align read and write chunks to the page cache · 324d116c
      Andreas Gruenbacher authored
      Align the chunks that reads and writes are carried out in to the page
      cache rather than the user buffers.  This will be more efficient in
      general, especially for allocating writes.  Optimizing the case that the
      user buffer is gfs2 backed isn't very useful; we only need to make sure
      we won't deadlock.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      324d116c
    • Andreas Gruenbacher's avatar
      gfs2: Pull return value test out of should_fault_in_pages · 72382264
      Andreas Gruenbacher authored
      Pull the return value test of the previous read or write operation out
      of should_fault_in_pages().  In a following patch, we'll fault in pages
      before the I/O and there will be no return value to check.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      72382264
    • Andreas Gruenbacher's avatar
      gfs2: Clean up use of fault_in_iov_iter_{read,write}able · 6d22ff47
      Andreas Gruenbacher authored
      No need to store the return value of the fault_in functions in separate
      variables.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      6d22ff47
    • Andreas Gruenbacher's avatar
      gfs2: Variable rename · 42e4c3bd
      Andreas Gruenbacher authored
      Instead of counting the number of bytes read from the filesystem,
      functions gfs2_file_direct_read and gfs2_file_read_iter count the number
      of bytes written into the user buffer.  Conversely, functions
      gfs2_file_direct_write and gfs2_file_buffered_write count the number of
      bytes read from the user buffer.  This is nothing but confusing, so
      change the read functions to count how many bytes they have read, and
      the write functions to count how many bytes they have written.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      42e4c3bd
    • Andreas Gruenbacher's avatar
      gfs2: Fix filesystem block deallocation for short writes · d031a886
      Andreas Gruenbacher authored
      When a write cannot be carried out in full, gfs2_iomap_end() releases
      blocks that have been allocated for this write but haven't been used.
      
      To compute the end of the allocation, gfs2_iomap_end() incorrectly
      rounded the end of the attempted write down to the next block boundary
      to arrive at the end of the allocation.  It would have to round up, but
      the end of the allocation is also available as iomap->offset +
      iomap->length, so just use that instead.
      
      In addition, use round_up() for computing the start of the unused range.
      
      Fixes: 64bc06bb ("gfs2: iomap buffered write support")
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      d031a886
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-5.18-rc7' of https://github.com/ceph/ceph-client · c3f5e692
      Linus Torvalds authored
      Pull ceph fix from Ilya Dryomov:
       "Two fixes to properly maintain xattrs on async creates and thus
        preserve SELinux context on newly created files and to avoid improper
        usage of folio->private field which triggered BUG_ONs.
      
        Both marked for stable"
      
      * tag 'ceph-for-5.18-rc7' of https://github.com/ceph/ceph-client:
        ceph: check folio PG_private bit instead of folio->private
        ceph: fix setting of xattrs on async created inodes
      c3f5e692
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-5.18-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 6dd5884d
      Linus Torvalds authored
      Pull NFS client bugfixes from Trond Myklebust:
       "One more pull request. There was a bug in the fix to ensure that gss-
        proxy continues to work correctly after we fixed the AF_LOCAL socket
        leak in the RPC code. This therefore reverts that broken patch, and
        replaces it with one that works correctly.
      
        Stable fixes:
      
         - SUNRPC: Ensure that the gssproxy client can start in a connected
           state
      
        Bugfixes:
      
         - Revert "SUNRPC: Ensure gss-proxy connects on setup"
      
         - nfs: fix broken handling of the softreval mount option"
      
      * tag 'nfs-for-5.18-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        nfs: fix broken handling of the softreval mount option
        SUNRPC: Ensure that the gssproxy client can start in a connected state
        Revert "SUNRPC: Ensure gss-proxy connects on setup"
      6dd5884d
    • Linus Torvalds's avatar
      Merge tag 'mm-hotfixes-stable-2022-05-11' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm · 364a453a
      Linus Torvalds authored
      Pull misc fixes from Andrew Morton:
       "Seven MM fixes, three of which address issues added in the most recent
        merge window, four of which are cc:stable.
      
        Three non-MM fixes, none very serious"
      
      [ And yes, that's a real pull request from Andrew, not me creating a
        branch from emailed patches. Woo-hoo! ]
      
      * tag 'mm-hotfixes-stable-2022-05-11' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
        MAINTAINERS: add a mailing list for DAMON development
        selftests: vm: Makefile: rename TARGETS to VMTARGETS
        mm/kfence: reset PG_slab and memcg_data before freeing __kfence_pool
        mailmap: add entry for martyna.szapar-mudlaw@intel.com
        arm[64]/memremap: don't abuse pfn_valid() to ensure presence of linear map
        procfs: prevent unprivileged processes accessing fdinfo dir
        mm: mremap: fix sign for EFAULT error return value
        mm/hwpoison: use pr_err() instead of dump_page() in get_any_page()
        mm/huge_memory: do not overkill when splitting huge_zero_page
        Revert "mm/memory-failure.c: skip huge_zero_page in memory_failure()"
      364a453a
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 91bdba85
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
      
       - TLB invalidation workaround for Qualcomm Kryo-4xx "gold" CPUs
      
       - Fix broken dependency in the vDSO Makefile
      
       - Fix pointer authentication overrides in ISAR2 ID register
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: Enable repeat tlbi workaround on KRYO4XX gold CPUs
        arm64: cpufeature: remove duplicate ID_AA64ISAR2_EL1 entry
        arm64: vdso: fix makefile dependency on vdso.so
      91bdba85
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v5.18-rc7' of... · 359ee4f4
      Linus Torvalds authored
      Merge tag 'hwmon-for-v5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
      
       - Restrict ltq-cputemp to SOC_XWAY to fix build failure
      
       - Add OF device ID table to tmp401 driver to enable auto-load
      
      * tag 'hwmon-for-v5.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (ltq-cputemp) restrict it to SOC_XWAY
        hwmon: (tmp401) Add OF device ID table
      359ee4f4
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2022-05-13' of git://anongit.freedesktop.org/drm/drm · 10b4b67a
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Pretty quiet week on the fixes front, 4 amdgpu and one i915 fix.
      
        I think there might be a few misc fbdev ones outstanding, but I'll see
        if they are necessary and pass them on if so.
      
        amdgpu:
      
         - Disable ASPM for VI boards on ADL platforms
      
         - S0ix DCN3.1 display fix
      
         - Resume regression fix
      
         - Stable pstate fix
      
        i915:
      
         - fix for kernel memory corruption when running a lot of OpenCL tests
           in parallel"
      
      * tag 'drm-fixes-2022-05-13' of git://anongit.freedesktop.org/drm/drm:
        drm/amdgpu/ctx: only reset stable pstate if the user changed it (v2)
        Revert "drm/amd/pm: keep the BACO feature enabled for suspend"
        drm/i915: Fix race in __i915_vma_remove_closed
        drm/amd/display: undo clearing of z10 related function pointers
        drm/amdgpu: vi: disable ASPM on Intel Alder Lake based systems
      10b4b67a
    • Zack Rusin's avatar
      drm/vmwgfx: Disable command buffers on svga3 without gbobjects · 21d1d192
      Zack Rusin authored
      With very limited vram on svga3 it's difficult to handle all the surface
      migrations. Without gbobjects, i.e. the ability to store surfaces in
      guest mobs, there's no reason to support intermediate svga2 features,
      especially because we can fall back to fb traces and svga3 will never
      support those in-between features.
      
      On svga3 we wither want to use fb traces or screen targets
      (i.e. gbobjects), nothing in between. This fixes presentation on a lot
      of fusion/esxi tech previews where the exposed svga3 caps haven't been
      finalized yet.
      Signed-off-by: default avatarZack Rusin <zackr@vmware.com>
      Fixes: 2cd80dbd ("drm/vmwgfx: Add basic support for SVGA3")
      Cc: <stable@vger.kernel.org> # v5.14+
      Reviewed-by: default avatarMartin Krastev <krastevm@vmware.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220318174332.440068-5-zack@kde.org
      21d1d192
    • Zack Rusin's avatar
      drm/vmwgfx: Initialize drm_mode_fb_cmd2 · 3059d9b9
      Zack Rusin authored
      Transition to drm_mode_fb_cmd2 from drm_mode_fb_cmd left the structure
      unitialized. drm_mode_fb_cmd2 adds a few additional members, e.g. flags
      and modifiers which were never initialized. Garbage in those members
      can cause random failures during the bringup of the fbcon.
      
      Initializing the structure fixes random blank screens after bootup due
      to flags/modifiers mismatches during the fbcon bring up.
      
      Fixes: dabdcdc9 ("drm/vmwgfx: Switch to mode_cmd2")
      Signed-off-by: default avatarZack Rusin <zackr@vmware.com>
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      Cc: <stable@vger.kernel.org> # v4.10+
      Reviewed-by: default avatarMartin Krastev <krastevm@vmware.com>
      Reviewed-by: default avatarMaaz Mombasawala <mombasawalam@vmware.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220302152426.885214-7-zack@kde.org
      3059d9b9