1. 24 Jun, 2022 17 commits
    • Linus Torvalds's avatar
      Merge tag 'regulator-fix-v5.19-rc3' of... · bed05181
      Linus Torvalds authored
      Merge tag 'regulator-fix-v5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
      
      Pull regulator fix from Mark Brown:
       "One fix for an incorrect device description for MP5496"
      
      * tag 'regulator-fix-v5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: qcom_smd: correct MP5496 ranges
      bed05181
    • Linus Torvalds's avatar
      Merge tag 'regmap-fix-v5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 7bc83546
      Linus Torvalds authored
      Pull regmap fixes from Mark Brown:
       "Two sets of fixes - one for things that were missed with the support
        for custom bulk I/O operations introduced in the last merge window,
        and another for some long standing issues with regmap-irq which affect
        a fairly small subset of devices"
      
      * tag 'regmap-fix-v5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap-irq: Fix offset/index mismatch in read_sub_irq_data()
        regmap-irq: Fix a bug in regmap_irq_enable() for type_in_mask chips
        regmap: Wire up regmap_config provided bulk write in missed functions
        regmap: Make regmap_noinc_read() return -ENOTSUPP if map->read isn't set
        regmap: Re-introduce bulk read support check in regmap_bulk_read()
      7bc83546
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · bc3b8977
      Linus Torvalds authored
      Pull iommu fixes from Joerg Roedel:
      
       - Add a new IOMMU mailing list to the MAINTAINERS file to prepare for
         the a list migration happening on July 5th. The old list needs to
         stay in place until the switch happens to guarantee seemless
         archiving of list email.
      
       - Fix compatible device-tree string for rcar-gen4 in Renesas IOMMU
         driver.
      
      * tag 'iommu-fixes-v5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        MAINTAINERS: Add new IOMMU development mailing list
        iommu/ipmmu-vmsa: Fix compatible for rcar-gen4
      bc3b8977
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 70d605cb
      Linus Torvalds authored
      Pull RISC-V fix from Palmer Dabbelt:
      
       - fix the T-Head memory type errata workaround to avoid behavior
         that is unsupported in the LLVM assembler
      
      * tag 'riscv-for-linus-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: Fix ALT_THEAD_PMA's asm parameters
      70d605cb
    • Linus Torvalds's avatar
      Merge tag 's390-5.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · f6e9d014
      Linus Torvalds authored
      Pull s390 fixes from Alexander Gordeev:
      
       - Fix perf stat accounting for cryptography counters when multiple
         events are installed concurrently.
      
       - Prevent installation of unsupported perf events for cryptography
         counters.
      
       - Treat perf events cpum_cf/CPU_CYCLES/ and cpu_cf/INSTRUCTIONS/
         identical to basic events CPU_CYCLES" and INSTRUCTIONS, since they
         address the same hardware.
      
       - Restore kcrash operation which was broken by commit 5d8de293
         ("vmcore: convert copy_oldmem_page() to take an iov_iter").
      
      * tag 's390-5.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/pai: Fix multiple concurrent event installation
        s390/pai: Prevent invalid event number for pai_crypto PMU
        s390/cpumf: Handle events cycles and instructions identical
        s390/crash: make copy_oldmem_page() return number of bytes copied
        s390/crash: add missing iterator advance in copy_oldmem_page()
      f6e9d014
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.19a-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 2c39d612
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
      
       - A rare deadlock in Qubes-OS between the i915 driver and Xen grant
         unmapping, solved by making the unmapping fully asynchronous
      
       - A bug in the Xen blkfront driver caused by incomplete error handling
      
       - A fix for undefined behavior (shifting a signed int by 31 bits)
      
       - A fix in the Xen drmfront driver avoiding a WARN()
      
      * tag 'for-linus-5.19a-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/gntdev: Avoid blocking in unmap_grant_pages()
        drm/xen: Add missing VM_DONTEXPAND flag in mmap callback
        x86/xen: Remove undefined behavior in setup_features()
        xen-blkfront: Handle NULL gendisk
      2c39d612
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · e9465549
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "ARM64:
      
         - Fix a regression with pKVM when kmemleak is enabled
      
         - Add Oliver Upton as an official KVM/arm64 reviewer
      
        selftests:
      
         - deal with compiler optimizations around hypervisor exits
      
        x86:
      
         - MAINTAINERS reorganization
      
         - Two SEV fixes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: SEV: Init target VMCBs in sev_migrate_from
        KVM: x86/svm: add __GFP_ACCOUNT to __sev_dbg_{en,de}crypt_user()
        MAINTAINERS: Reorganize KVM/x86 maintainership
        selftests: KVM: Handle compiler optimizations in ucall
        KVM: arm64: Add Oliver as a reviewer
        KVM: arm64: Prevent kmemleak from accessing pKVM memory
        tools/kvm_stat: fix display of error when multiple processes are found
      e9465549
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2022-06-24' of git://anongit.freedesktop.org/drm/drm · 38bc4ac4
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Fixes for this week, bit larger than normal, but I think the last
        couple have been quieter, and it's only rc4.
      
        There are a lot of small msm fixes, and a slightly larger set of vc4
        fixes. The vc4 fixes clean up a lot of crashes around the rPI4
        hardware differences from earlier ones, and problems in the page flip
        and modeset code which assumed earlier hw, so I thought it would be
        okay to keep them in.
      
        Otherwise, it's a few amdgpu, i915, sun4i and a panel quirk.
      
        amdgpu:
         - Adjust GTT size logic
         - eDP fix for RMB
         - DCN 3.15 fix
         - DP training fix
         - Color encoding fix for DCN2+
      
        sun4i:
         - multiple suspend fixes
      
        vc4:
         - rework driver split for rpi4, fixes mulitple crashers.
      
        panel:
         - quirk for Aya Neo Next
      
        i915:
         - Revert low voltage SKU check removal to fix display issues
         - Apply PLL DCO fraction workaround for ADL-S
         - Don't show engine classes not present in client fdinfo
      
        msm:
         - Workaround for parade DSI bridge power sequencing
         - Fix for multi-planar YUV format offsets
         - Limiting WB modes to max sspp linewidth
         - Fixing the supported rotations to add 180 back for IGT
         - Fix to handle pm_runtime_get_sync() errors to avoid unclocked
           access in the bind() path for dpu driver
         - Fix the irq_free() without request issue which was a being hit
           frequently in CI.
         - Fix to add minimum ICC vote in the msm_mdss pm_resume path to
           address bootup splats
         - Fix to avoid dereferencing without checking in WB encoder
         - Fix to avoid crash during suspend in DP driver by ensuring
           interrupt mask bits are updated
         - Remove unused code from dpu_encoder_virt_atomic_check()
         - Fix to remove redundant init of dsc variable
         - Fix to ensure mmap offset is initialized to avoid memory corruption
           from unpin/evict
         - Fix double runpm disable in probe-defer path
         - VMA fenced-unpin fixes
         - Fix for WB max-width
         - Fix for rare dp resolution change issue"
      
      * tag 'drm-fixes-2022-06-24' of git://anongit.freedesktop.org/drm/drm: (41 commits)
        amd/display/dc: Fix COLOR_ENCODING and COLOR_RANGE doing nothing for DCN20+
        drm/amd/display: Fix typo in override_lane_settings
        drm/amd/display: Fix DC warning at driver load
        drm/amd: Revert "drm/amd/display: keep eDP Vdd on when eDP stream is already enabled"
        drm/amdgpu: Adjust logic around GTT size (v3)
        drm/sun4i: Return if frontend is not present
        drm/vc4: fix error code in vc4_check_tex_size()
        drm/sun4i: Add DMA mask and segment size
        drm/vc4: hdmi: Fixed possible integer overflow
        drm/i915/display: Re-add check for low voltage sku for max dp source rate
        drm/i915/fdinfo: Don't show engine classes not present
        drm/i915: Implement w/a 22010492432 for adl-s
        drm: panel-orientation-quirks: Add quirk for Aya Neo Next
        drm/msm/dp: force link training for display resolution change
        drm/msm/dpu: limit wb modes based on max_mixer_width
        drm/msm/dp: check core_initialized before disable interrupts at dp_display_unbind()
        drm/msm/mdp4: Fix refcount leak in mdp4_modeset_init_intf
        drm/msm: Don't overwrite hw fence in hw_init
        drm/msm: Drop update_fences()
        drm/vc4: Warn if some v3d code is run on BCM2711
        ...
      38bc4ac4
    • Linus Torvalds's avatar
      Merge tag 'for-5.19/dm-fixes-4' of... · cbe232ab
      Linus Torvalds authored
      Merge tag 'for-5.19/dm-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper fixes from Mike Snitzer:
      
       - Fix DM era to commit metadata during suspend using drain_workqueue
         instead of flush_workqueue.
      
       - Fix DM core's dm_io_complete to not return early if io error is
         BLK_STS_AGAIN but bio polling is not in use.
      
       - Fix DM core's dm_io_complete BLK_STS_DM_REQUEUE handling when dm_io
         represents a split bio.
      
       - Fix recent DM mirror log regression by clearing bits up to
         BITS_PER_LONG boundary.
      
      * tag 'for-5.19/dm-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm mirror log: clear log bits up to BITS_PER_LONG boundary
        dm: fix BLK_STS_DM_REQUEUE handling when dm_io represents split bio
        dm: do not return early from dm_io_complete if BLK_STS_AGAIN without polling
        dm era: commit metadata in postsuspend after worker stops
      cbe232ab
    • Linus Torvalds's avatar
      Merge tag 'ata-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 43627618
      Linus Torvalds authored
      Pull ATA fix from Damien Le Moal:
      
       - a single patch to fix tracing of command completion (Edward)
      
      * tag 'ata-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        ata: libata: add qc->flags in ata_qc_complete_template tracepoint
      43627618
    • Linus Torvalds's avatar
      Merge tag 'block-5.19-2022-06-24' of git://git.kernel.dk/linux-block · a237cfd6
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - Series fixing issues with sysfs locking and name reuse (Christoph)
      
       - NVMe pull request via Christoph:
            - Fix the mixed up CRIMS/CRWMS constants (Joel Granados)
            - Add another broken identifier quirk (Leo Savernik)
            - Fix up a quirk because Samsung reuses PCI IDs over different
              products (Christoph Hellwig)
      
       - Remove old WARN_ON() that doesn't apply anymore (Li)
      
       - Fix for using a stale cached request value for rq-qos throttling
         mechanisms that may schedule(), like iocost (me)
      
       - Remove unused parameter to blk_independent_access_range() (Damien)
      
      * tag 'block-5.19-2022-06-24' of git://git.kernel.dk/linux-block:
        block: remove WARN_ON() from bd_link_disk_holder
        nvme: move the Samsung X5 quirk entry to the core quirks
        nvme: fix the CRIMS and CRWMS definitions to match the spec
        nvme: add a bogus subsystem NQN quirk for Micron MTFDKBA2T0TFH
        block: pop cached rq before potentially blocking rq_qos_throttle()
        block: remove queue from struct blk_independent_access_range
        block: freeze the queue earlier in del_gendisk
        block: remove per-disk debugfs files in blk_unregister_queue
        block: serialize all debugfs operations using q->debugfs_mutex
        block: disable the elevator int del_gendisk
      a237cfd6
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.19-2022-06-24' of git://git.kernel.dk/linux-block · 598f2404
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "A few fixes that should go into the 5.19 release. All are fixing
        issues that either happened in this release, or going to stable.
      
        In detail:
      
         - A small series of fixlets for the poll handling, all destined for
           stable (Pavel)
      
         - Fix a merge error from myself that caused a potential -EINVAL for
           the recv/recvmsg flag setting (me)
      
         - Fix a kbuf recycling issue for partial IO (me)
      
         - Use the original request for the inflight tracking (me)
      
         - Fix an issue introduced this merge window with trace points using a
           custom decoder function, which won't work for perf (Dylan)"
      
      * tag 'io_uring-5.19-2022-06-24' of git://git.kernel.dk/linux-block:
        io_uring: use original request task for inflight tracking
        io_uring: move io_uring_get_opcode out of TP_printk
        io_uring: fix double poll leak on repolling
        io_uring: fix wrong arm_poll error handling
        io_uring: fail links when poll fails
        io_uring: fix req->apoll_events
        io_uring: fix merge error in checking send/recv addr2 flags
        io_uring: mark reissue requests with REQ_F_PARTIAL_IO
      598f2404
    • Linus Torvalds's avatar
      Merge tag 'printk-for-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux · 9d882352
      Linus Torvalds authored
      Pull printk kernel thread revert from Petr Mladek:
       "Revert printk console kthreads.
      
        The testing of 5.19 release candidates revealed issues that did not
        happen when all consoles were serialized using the console semaphore.
      
        More time is needed to check expectations of the existing console
        drivers and be confident that they can be safely used in parallel"
      
      * tag 'printk-for-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
        Revert "printk: add functions to prefer direct printing"
        Revert "printk: add kthread console printers"
        Revert "printk: extend console_lock for per-console locking"
        Revert "printk: remove @console_locked"
        Revert "printk: Block console kthreads when direct printing will be required"
        Revert "printk: Wait for the global console lock when the system is going down"
      9d882352
    • Joerg Roedel's avatar
      MAINTAINERS: Add new IOMMU development mailing list · c242507c
      Joerg Roedel authored
      The IOMMU mailing list will move from lists.linux-foundation.org to
      lists.linux.dev. The hard switch of the archive will happen on July
      5th, but add the new list now already so that people start using the
      list when sending patches. After July 5th the old list will disappear.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      Link: https://lore.kernel.org/r/20220624125139.412-1-joro@8bytes.orgSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      c242507c
    • Peter Gonda's avatar
      KVM: SEV: Init target VMCBs in sev_migrate_from · 6defa24d
      Peter Gonda authored
      The target VMCBs during an intra-host migration need to correctly setup
      for running SEV and SEV-ES guests. Add sev_init_vmcb() function and make
      sev_es_init_vmcb() static. sev_init_vmcb() uses the now private function
      to init SEV-ES guests VMCBs when needed.
      
      Fixes: 0b020f5a ("KVM: SEV: Add support for SEV-ES intra host migration")
      Fixes: b5663931 ("KVM: SEV: Add support for SEV intra host migration")
      Signed-off-by: default avatarPeter Gonda <pgonda@google.com>
      Cc: Marc Orr <marcorr@google.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Sean Christopherson <seanjc@google.com>
      Cc: Tom Lendacky <thomas.lendacky@amd.com>
      Cc: kvm@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Message-Id: <20220623173406.744645-1-pgonda@google.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      6defa24d
    • Mingwei Zhang's avatar
      KVM: x86/svm: add __GFP_ACCOUNT to __sev_dbg_{en,de}crypt_user() · ebdec859
      Mingwei Zhang authored
      Adding the accounting flag when allocating pages within the SEV function,
      since these memory pages should belong to individual VM.
      
      No functional change intended.
      Signed-off-by: default avatarMingwei Zhang <mizhang@google.com>
      Message-Id: <20220623171858.2083637-1-mizhang@google.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      ebdec859
    • Dave Airlie's avatar
      Merge tag 'drm-msm-fixes-2022-06-20' of https://gitlab.freedesktop.org/drm/msm into drm-fixes · 1e9124df
      Dave Airlie authored
      Fixes for v5.19-rc4
      
      - Workaround for parade DSI bridge power sequencing
      - Fix for multi-planar YUV format offsets
      - Limiting WB modes to max sspp linewidth
      - Fixing the supported rotations to add 180 back for IGT
      - Fix to handle pm_runtime_get_sync() errors to avoid unclocked access
        in the bind() path for dpu driver
      - Fix the irq_free() without request issue which was a being hit frequently
        in CI.
      - Fix to add minimum ICC vote in the msm_mdss pm_resume path to address
        bootup splats
      - Fix to avoid dereferencing without checking in WB encoder
      - Fix to avoid crash during suspend in DP driver by ensuring interrupt
        mask bits are updated
      - Remove unused code from dpu_encoder_virt_atomic_check()
      - Fix to remove redundant init of dsc variable
      - Fix to ensure mmap offset is initialized to avoid memory corruption
        from unpin/evict
      - Fix double runpm disable in probe-defer path
      - VMA fenced-unpin fixes
      - Fix for WB max-width
      - Fix for rare dp resolution change issue
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Rob Clark <robdclark@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGvdsOF1-+WfTWyEyu33XPcvxOCU00G-dz7EF2J+fdyUHg@mail.gmail.com
      1e9124df
  2. 23 Jun, 2022 23 commits
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2022-06-22' of... · 08d27daa
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2022-06-22' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
      
      drm/i915 fixes for v5.19-rc4:
      - Revert low voltage SKU check removal to fix display issues
      - Apply PLL DCO fraction workaround for ADL-S
      - Don't show engine classes not present in client fdinfo
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Jani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/87a6a4syrr.fsf@intel.com
      08d27daa
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2022-06-23' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · 0a86b0db
      Dave Airlie authored
      Multiple fixes in sun4i for suspend, DDC, DMA setup; A rework of vc4 to
      properly split the driver between hardware capabilities that wasn't done
      properly causing multiple crashes; and a panel quirk for Aya Neo Next
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maxime Ripard <maxime@cerno.tech>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220623064152.ubjmnpj7tdejdcw6@houat
      0a86b0db
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-5.19-2022-06-22' of... · 382cf35f
      Dave Airlie authored
      Merge tag 'amd-drm-fixes-5.19-2022-06-22' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes
      
      amd-drm-fixes-5.19-2022-06-22:
      
      amdgpu:
      - Adjust GTT size logic
      - eDP fix for RMB
      - DCN 3.15 fix
      - DP training fix
      - Color encoding fix for DCN2+
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220622214106.5984-1-alexander.deucher@amd.com
      382cf35f
    • Linus Torvalds's avatar
      Merge tag 'pm-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 92f20ff7
      Linus Torvalds authored
      Pull power management fix from Rafael Wysocki:
       "Fix a recent regression preventing some systems from powering off
        after saving a hibernation image (Dmitry Osipenko)"
      
      * tag 'pm-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM: hibernate: Use kernel_can_power_off()
      92f20ff7
    • Linus Torvalds's avatar
      Merge tag 'random-5.19-rc4-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random · ba461afb
      Linus Torvalds authored
      Pull random number generator fixes from Jason Donenfeld:
      
       - A change to schedule the interrupt randomness mixing less often, yet
         credit a little more each time, to reduce overhead during interrupt
         storms.
      
       - Squelch an undesired pr_warn() from __ratelimit(), which was causing
         problems in the reporters' CI.
      
       - A trivial comment fix.
      
      * tag 'random-5.19-rc4-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random:
        random: update comment from copy_to_user() -> copy_to_iter()
        random: quiet urandom warning ratelimit suppression message
        random: schedule mix_interrupt_randomness() less often
      ba461afb
    • Mikulas Patocka's avatar
      dm mirror log: clear log bits up to BITS_PER_LONG boundary · 90736eb3
      Mikulas Patocka authored
      Commit 85e123c2 ("dm mirror log: round up region bitmap size to
      BITS_PER_LONG") introduced a regression on 64-bit architectures in the
      lvm testsuite tests: lvcreate-mirror, mirror-names and vgsplit-operation.
      
      If the device is shrunk, we need to clear log bits beyond the end of the
      device. The code clears bits up to a 32-bit boundary and then calculates
      lc->sync_count by summing set bits up to a 64-bit boundary (the commit
      changed that; previously, this boundary was 32-bit too). So, it was using
      some non-zeroed bits in the calculation and this caused misbehavior.
      
      Fix this regression by clearing bits up to BITS_PER_LONG boundary.
      
      Fixes: 85e123c2 ("dm mirror log: round up region bitmap size to BITS_PER_LONG")
      Cc: stable@vger.kernel.org
      Reported-by: default avatarBenjamin Marzinski <bmarzins@redhat.com>
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
      90736eb3
    • Ming Lei's avatar
      dm: fix BLK_STS_DM_REQUEUE handling when dm_io represents split bio · 61b6e2e5
      Ming Lei authored
      Commit 7dd76d1f ("dm: improve bio splitting and associated IO
      accounting") removed using cloned bio when dm io splitting is needed.
      Using bio_trim()+bio_inc_remaining() rather than bio_split()+bio_chain()
      causes multiple dm_io instances to share the same original bio, and it
      works fine if IOs are completed successfully.
      
      But a regression was caused for the case when BLK_STS_DM_REQUEUE is
      returned from any one of DM's cloned bios (whose dm_io share the same
      orig_bio). In this BLK_STS_DM_REQUEUE case only the mapped subset of
      the original bio for the current exact dm_io needs to be re-submitted.
      However, since the original bio is shared among all dm_io instances,
      the ->orig_bio actually only represents the last dm_io instance, so
      requeue can't work as expected. Also when more than one dm_io is
      requeued, the same original bio is requeued from all dm_io's
      completion handler, then race is caused.
      
      Fix this issue by still allocating one clone bio for completing io
      only, then io accounting can rely on ->orig_bio being unmodified. This
      is needed because the dm_io's sector_offset and sectors members are
      recorded relative to an unmodified ->orig_bio.
      
      In the future, we can go back to using bio_trim()+bio_inc_remaining()
      for dm's io splitting but then delay needing a bio clone only when
      handling BLK_STS_DM_REQUEUE, but that approach is a bit complicated
      (so it needs a development cycle):
      1) bio clone needs to be done in task context
      2) a block interface for unwinding bio is required
      
      Fixes: 7dd76d1f ("dm: improve bio splitting and associated IO accounting")
      Reported-by: default avatarBenjamin Marzinski <bmarzins@redhat.com>
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
      61b6e2e5
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · fa1796a8
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
      
       - Check for NULL in kretprobe_dispatcher()
      
         NULL can now be passed in, make sure it can handle it
      
       - Clean up unneeded #endif #ifdef of the same preprocessor
         check in the middle of the block.
      
       - Comment clean up
      
       - Remove unneeded initialization of the "ret" variable in
         __trace_uprobe_create()
      
      * tag 'trace-v5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing/uprobes: Remove unwanted initialization in __trace_uprobe_create()
        tracefs: Fix syntax errors in comments
        tracing: Simplify conditional compilation code in tracing_set_tracer()
        tracing/kprobes: Check whether get_kretprobe() returns NULL in kretprobe_dispatcher()
      fa1796a8
    • Linus Torvalds's avatar
      Merge tag 'folio-5.19b' of git://git.infradead.org/users/willy/pagecache · 16e4bce6
      Linus Torvalds authored
      Pull pagecache fixes from Matthew Wilcox:
       "Four folio-related fixes for 5.19:
      
         - Mark a folio accessed at the right time (Yu Kuai)
      
         - Fix a race for folios being replaced in the middle of a read (Brian
           Foster)
      
         - Clear folio->private in more places (Xiubo Li)
      
         - Take the invalidate_lock in page_cache_ra_order() (Alistair Popple)"
      
      * tag 'folio-5.19b' of git://git.infradead.org/users/willy/pagecache:
        filemap: Fix serialization adding transparent huge pages to page cache
        mm: Clear page->private when splitting or migrating a page
        filemap: Handle sibling entries in filemap_get_read_batch()
        filemap: Correct the conditions for marking a folio as accessed
      16e4bce6
    • Petr Mladek's avatar
      51889d22
    • Linus Torvalds's avatar
      Merge tag 'mips-fixes_5.19_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 599d1691
      Linus Torvalds authored
      Pull MIPS fixes from Thomas Bogendoerfer:
      
       - several refcount fixes
      
       - added missing clock for ingenic
      
       - fix wrong irq_err_count for vr41xx
      
      * tag 'mips-fixes_5.19_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        mips: lantiq: Add missing of_node_put() in irq.c
        mips: dts: ingenic: Add TCU clock to x1000/x1830 tcu device node
        mips/pic32/pic32mzda: Fix refcount leak bugs
        mips: lantiq: xway: Fix refcount leak bug in sysctrl
        mips: lantiq: falcon: Fix refcount leak bug in sysctrl
        mips: ralink: Fix refcount leak in of.c
        mips: mti-malta: Fix refcount leak in malta-time.c
        arch: mips: generic: Add missing of_node_put() in board-ranchu.c
        MIPS: Remove repetitive increase irq_err_count
      599d1691
    • Jens Axboe's avatar
      io_uring: use original request task for inflight tracking · 386e4fb6
      Jens Axboe authored
      In prior kernels, we did file assignment always at prep time. This meant
      that req->task == current. But after deferring that assignment and then
      pushing the inflight tracking back in, we've got the inflight tracking
      using current when it should in fact now be using req->task.
      
      Fixup that error introduced by adding the inflight tracking back after
      file assignments got modifed.
      
      Fixes: 9cae36a0 ("io_uring: reinstate the inflight tracking")
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      386e4fb6
    • Paolo Bonzini's avatar
      MAINTAINERS: Reorganize KVM/x86 maintainership · 6945b214
      Paolo Bonzini authored
      For the last few years I have been the sole maintainer of KVM, albeit
      getting serious help from all the people who have reviewed hundreds of
      patches.  The volume of KVM x86 alone has gotten to the point where one
      maintainer is not enough; especially if that maintainer is not doing it
      full time and if they want to keep up with the evolution of ARM64 and
      RISC-V at both the architecture and the hypervisor level.
      
      So, this patch is the first step in restoring double maintainership
      or even transitioning to the submaintainer model of other architectures.
      
      The changes here were mostly proposed by Sean offlist and they are twofold:
      
      - revisiting the set of KVM x86 reviewers.  It's important to have an
        an accurate list of people that are actively reviewing patches ("R"),
        as well as people that are able to act on bug reports ("M").  Otherwise,
        voids to be filled are not easily visible.  The proposal is to split
        KVM on Hyper-V, which is where Vitaly has been the main contributor
        for quite some time now; likewise for KVM paravirt support, which
        has been the main interest of Wanpeng and to which Vitaly has also
        contributed (e.g., for async page faults).  Jim and Joerg have not been
        particularly active (though Joerg has worked on guest support for AMD
        SEV); knowing them a bit, I can't imagine they would object to their
        removal or even be surprised, but please speak up if you do.
      
      - promoting Sean to maintainer for KVM x86 host support.  While for
        now this changes little, let's treat it as a harbinger for future
        changes.  The plan is that I would keep the final integration testing
        for quite some time, and probably focus more on -rc work.  This will
        give me more time to clean up my ad hoc setup and moving towards a
        more public CI, with Sean focusing instead on next-release patches,
        and the testing up to where kvm-unit-tests and selftests pass.  In
        order to facilitate collaboration between Sean and myself, we'll
        also formalize a bit more the various branches of kvm.git.
      
      Nothing is going to change with respect to handling pull requests to Linus
      and from other architectures, as well as maintainance of the generic code
      (which I expect and hope to be more important as architectures try to
      share more code) and documentation.  However, it's not a coincidence
      that my entry is now the last for x86, ready to be demoted to reviewer
      if/when the right time comes.
      Suggested-by: default avatarSean Christopherson <seanjc@google.com>
      Co-developed-by: default avatarSean Christopherson <seanjc@google.com>
      Cc: kvm@vger.kernel.org
      Cc: Sean Christopherson <seanjc@google.com>
      Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
      Cc: Wanpeng Li <wanpengli@tencent.com>
      Cc: Jim Mattson <jmattson@google.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Acked-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      6945b214
    • Petr Mladek's avatar
      Revert "printk: add functions to prefer direct printing" · 07a22b61
      Petr Mladek authored
      This reverts commit 2bb2b7b5.
      
      The testing of 5.19 release candidates revealed missing synchronization
      between early and regular console functionality.
      
      It would be possible to start the console kthreads later as a workaround.
      But it is clear that console lock serialized console drivers between
      each other. It opens a big area of possible problems that were not
      considered by people involved in the development and review.
      
      printk() is crucial for debugging kernel issues and console output is
      very important part of it. The number of consoles is huge and a proper
      review would take some time. As a result it need to be reverted for 5.19.
      
      Link: https://lore.kernel.org/r/YrBdjVwBOVgLfHyb@alleySigned-off-by: default avatarPetr Mladek <pmladek@suse.com>
      Link: https://lore.kernel.org/r/20220623145157.21938-7-pmladek@suse.com
      07a22b61
    • Petr Mladek's avatar
      Revert "printk: add kthread console printers" · 5831788a
      Petr Mladek authored
      This reverts commit 09c5ba0a.
      
      This reverts commit b87f0230.
      
      The testing of 5.19 release candidates revealed missing synchronization
      between early and regular console functionality.
      
      It would be possible to start the console kthreads later as a workaround.
      But it is clear that console lock serialized console drivers between
      each other. It opens a big area of possible problems that were not
      considered by people involved in the development and review.
      
      printk() is crucial for debugging kernel issues and console output is
      very important part of it. The number of consoles is huge and a proper
      review would take some time. As a result it need to be reverted for 5.19.
      
      Link: https://lore.kernel.org/r/YrBdjVwBOVgLfHyb@alleySigned-off-by: default avatarPetr Mladek <pmladek@suse.com>
      Link: https://lore.kernel.org/r/20220623145157.21938-6-pmladek@suse.com
      5831788a
    • Petr Mladek's avatar
      Revert "printk: extend console_lock for per-console locking" · 2d9ef940
      Petr Mladek authored
      This reverts commit 8e274732.
      
      The testing of 5.19 release candidates revealed missing synchronization
      between early and regular console functionality.
      
      It would be possible to start the console kthreads later as a workaround.
      But it is clear that console lock serialized console drivers between
      each other. It opens a big area of possible problems that were not
      considered by people involved in the development and review.
      
      printk() is crucial for debugging kernel issues and console output is
      very important part of it. The number of consoles is huge and a proper
      review would take some time. As a result it need to be reverted for 5.19.
      
      Link: https://lore.kernel.org/r/YrBdjVwBOVgLfHyb@alleySigned-off-by: default avatarPetr Mladek <pmladek@suse.com>
      Link: https://lore.kernel.org/r/20220623145157.21938-5-pmladek@suse.com
      2d9ef940
    • Petr Mladek's avatar
      Revert "printk: remove @console_locked" · 007eeab7
      Petr Mladek authored
      This reverts commit ab406816.
      
      The testing of 5.19 release candidates revealed missing synchronization
      between early and regular console functionality.
      
      It would be possible to start the console kthreads later as a workaround.
      But it is clear that console lock serialized console drivers between
      each other. It opens a big area of possible problems that were not
      considered by people involved in the development and review.
      
      printk() is crucial for debugging kernel issues and console output is
      very important part of it. The number of consoles is huge and a proper
      review would take some time. As a result it need to be reverted for 5.19.
      
      Link: https://lore.kernel.org/r/YrBdjVwBOVgLfHyb@alleySigned-off-by: default avatarPetr Mladek <pmladek@suse.com>
      Link: https://lore.kernel.org/r/20220623145157.21938-4-pmladek@suse.com
      007eeab7
    • Petr Mladek's avatar
      Revert "printk: Block console kthreads when direct printing will be required" · 05c96b37
      Petr Mladek authored
      This reverts commit c3230283.
      
      The testing of 5.19 release candidates revealed missing synchronization
      between early and regular console functionality.
      
      It would be possible to start the console kthreads later as a workaround.
      But it is clear that console lock serialized console drivers between
      each other. It opens a big area of possible problems that were not
      considered by people involved in the development and review.
      
      printk() is crucial for debugging kernel issues and console output is
      very important part of it. The number of consoles is huge and a proper
      review would take some time. As a result it need to be reverted for 5.19.
      
      Link: https://lore.kernel.org/r/YrBdjVwBOVgLfHyb@alleySigned-off-by: default avatarPetr Mladek <pmladek@suse.com>
      Link: https://lore.kernel.org/r/20220623145157.21938-3-pmladek@suse.com
      05c96b37
    • Petr Mladek's avatar
      Revert "printk: Wait for the global console lock when the system is going down" · 20fb0c82
      Petr Mladek authored
      This reverts commit b87f0230.
      
      The testing of 5.19 release candidates revealed missing synchronization
      between early and regular console functionality.
      
      It would be possible to start the console kthreads later as a workaround.
      But it is clear that console lock serialized console drivers between
      each other. It opens a big area of possible problems that were not
      considered by people involved in the development and review.
      
      printk() is crucial for debugging kernel issues and console output is
      very important part of it. The number of consoles is huge and a proper
      review would take some time. As a result it need to be reverted for 5.19.
      
      Link: https://lore.kernel.org/r/YrBdjVwBOVgLfHyb@alleySigned-off-by: default avatarPetr Mladek <pmladek@suse.com>
      Link: https://lore.kernel.org/r/20220623145157.21938-2-pmladek@suse.com
      20fb0c82
    • Alistair Popple's avatar
      filemap: Fix serialization adding transparent huge pages to page cache · 00fa15e0
      Alistair Popple authored
      Commit 793917d9 ("mm/readahead: Add large folio readahead")
      introduced support for using large folios for filebacked pages if the
      filesystem supports it.
      
      page_cache_ra_order() was introduced to allocate and add these large
      folios to the page cache. However adding pages to the page cache should
      be serialized against truncation and hole punching by taking
      invalidate_lock. Not doing so can lead to data races resulting in stale
      data getting added to the page cache and marked up-to-date. See commit
      730633f0 ("mm: Protect operations adding pages to page cache with
      invalidate_lock") for more details.
      
      This issue was found by inspection but a testcase revealed it was
      possible to observe in practice on XFS. Fix this by taking
      invalidate_lock in page_cache_ra_order(), to mirror what is done for the
      non-thp case in page_cache_ra_unbounded().
      Signed-off-by: default avatarAlistair Popple <apopple@nvidia.com>
      Fixes: 793917d9 ("mm/readahead: Add large folio readahead")
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
      00fa15e0
    • Matthew Wilcox (Oracle)'s avatar
      mm: Clear page->private when splitting or migrating a page · b653db77
      Matthew Wilcox (Oracle) authored
      In our efforts to remove uses of PG_private, we have found folios with
      the private flag clear and folio->private not-NULL.  That is the root
      cause behind 642d51fb ("ceph: check folio PG_private bit instead
      of folio->private").  It can also affect a few other filesystems that
      haven't yet reported a problem.
      
      compaction_alloc() can return a page with uninitialised page->private,
      and rather than checking all the callers of migrate_pages(), just zero
      page->private after calling get_new_page().  Similarly, the tail pages
      from split_huge_page() may also have an uninitialised page->private.
      Reported-by: default avatarXiubo Li <xiubli@redhat.com>
      Tested-by: default avatarXiubo Li <xiubli@redhat.com>
      Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
      b653db77
    • Thomas Richter's avatar
      s390/pai: Fix multiple concurrent event installation · 21e87644
      Thomas Richter authored
      Two different events such as pai_crypto/KM_AES_128/ and
      pai_crypto/KM_AES_192/ can be installed multiple times on the same CPU
      and the events are executed concurrently:
      
        # perf stat -e pai_crypto/KM_AES_128/  -C0 -a -- sleep 5 &
        # sleep 2
        # perf stat -e pai_crypto/KM_AES_192/ -C0 -a -- true
      
      This results in the first event being installed two times with two seconds
      delay. The kernel does install the second event after the first
      event has been deleted and re-added, as can be seen in the traces:
      
       13:48:47.600350  paicrypt_start event 0x1007 (event KM_AES_128)
       13:48:49.599359  paicrypt_stop event 0x1007  (event KM_AES_128)
       13:48:49.599198  paicrypt_start event 0x1007
       13:48:49.599199  paicrypt_start event 0x1008
       13:48:49.599921  paicrypt_event_destroy event 0x1008
       13:48:52.601507  paicrypt_event_destroy event 0x1007
      
      This is caused by functions event_sched_in() and event_sched_out() which
      call the PMU's add() and start() functions on schedule_in and the PMU's
      stop() and del() functions on schedule_out. This is correct for events
      attached to processes.  The pai_crypto events are system-wide events
      and not attached to processes.
      
      Since the kernel common code can not be changed easily, fix this issue
      and do not reset the event count value to zero each time the event is
      added and started. Instead use a flag and zero the event count value
      only when called immediately after the event has been initialized.
      Therefore only the first invocation of the the event's add() function
      initializes the event count value to zero. The following invocations
      of the event's add() function leave the current event count value
      untouched.
      
      Fixes: 39d62336 ("s390/pai: add support for cryptography counters")
      Reported-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Acked-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      21e87644
    • Thomas Richter's avatar
      s390/pai: Prevent invalid event number for pai_crypto PMU · 541a4966
      Thomas Richter authored
      The pai_crypto PMU has to check the event number. It has to be in
      the supported range. This is not the case, the lower limit is not
      checked. Fix this and obey the lower limit.
      
      Fixes: 39d62336 ("s390/pai: add support for cryptography counters")
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Suggested-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
      Reviewed-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      541a4966