1. Jan 13, 2023
    • Yunfei Wang's avatar
      iommu/iova: Fix alloc iova overflows issue · dcdb3ba7
      Yunfei Wang authored
      
      
      In __alloc_and_insert_iova_range, there is an issue that retry_pfn
      overflows. The value of iovad->anchor.pfn_hi is ~0UL, then when
      iovad->cached_node is iovad->anchor, curr_iova->pfn_hi + 1 will
      overflow. As a result, if the retry logic is executed, low_pfn is
      updated to 0, and then new_pfn < low_pfn returns false to make the
      allocation successful.
      
      This issue occurs in the following two situations:
      1. The first iova size exceeds the domain size. When initializing
      iova domain, iovad->cached_node is assigned as iovad->anchor. For
      example, the iova domain size is 10M, start_pfn is 0x1_F000_0000,
      and the iova size allocated for the first time is 11M. The
      following is the log information, new->pfn_lo is smaller than
      iovad->cached_node.
      
      Example log as follows:
      [  223.798112][T1705487] sh: [name:iova&]__alloc_and_insert_iova_range
      start_pfn:0x1f0000,retry_pfn:0x0,size:0xb00,limit_pfn:0x1f0a00
      [  223.799590][T1705487] sh: [name:iova&]__alloc_and_insert_iova_range
      success start_pfn:0x1f0000,new->pfn_lo:0x1efe00,new->pfn_hi:0x1f08ff
      
      2. The node with the largest iova->pfn_lo value in the iova domain
      is deleted, iovad->cached_node will be updated to iovad->anchor,
      and then the alloc iova size exceeds the maximum iova size that can
      be allocated in the domain.
      
      After judging that retry_pfn is less than limit_pfn, call retry_pfn+1
      to fix the overflow issue.
      
      Signed-off-by: default avatarjianjiao zeng <jianjiao.zeng@mediatek.com>
      Signed-off-by: default avatarYunfei Wang <yf.wang@mediatek.com>
      Cc: <stable@vger.kernel.org> # 5.15.*
      Fixes: 4e89dce7
      
       ("iommu/iova: Retry from last rb tree node if iova search fails")
      Acked-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Link: https://lore.kernel.org/r/20230111063801.25107-1-yf.wang@mediatek.com
      
      
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      dcdb3ba7
    • Miaoqian Lin's avatar
      iommu: Fix refcount leak in iommu_device_claim_dma_owner · a6a9a5da
      Miaoqian Lin authored
      iommu_group_get() returns the group with the reference incremented.
      Move iommu_group_get() after owner check to fix the refcount leak.
      
      Fixes: 89395cce
      
       ("iommu: Add device-centric DMA ownership interfaces")
      Signed-off-by: default avatarMiaoqian Lin <linmq006@gmail.com>
      Reviewed-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      Link: https://lore.kernel.org/r/20221230083100.1489569-1-linmq006@gmail.com
      
      
      [ joro: Remove *group = NULL initialization ]
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      a6a9a5da
    • Vladimir Oltean's avatar
      iommu/arm-smmu-v3: Don't unregister on shutdown · 32ea2c57
      Vladimir Oltean authored
      Similar to SMMUv2, this driver calls iommu_device_unregister() from the
      shutdown path, which removes the IOMMU groups with no coordination
      whatsoever with their users - shutdown methods are optional in device
      drivers. This can lead to NULL pointer dereferences in those drivers'
      DMA API calls, or worse.
      
      Instead of calling the full arm_smmu_device_remove() from
      arm_smmu_device_shutdown(), let's pick only the relevant function call -
      arm_smmu_device_disable() - more or less the reverse of
      arm_smmu_device_reset() - and call just that from the shutdown path.
      
      Fixes: 57365a04
      
       ("iommu: Move bus setup to IOMMU device registration")
      Suggested-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Link: https://lore.kernel.org/r/20221215141251.3688780-2-vladimir.oltean@nxp.com
      
      
      Signed-off-by: default avatarWill Deacon <will@kernel.org>
      32ea2c57
    • Vladimir Oltean's avatar
      iommu/arm-smmu: Don't unregister on shutdown · ce31e6ca
      Vladimir Oltean authored
      Michael Walle says he noticed the following stack trace while performing
      a shutdown with "reboot -f". He suggests he got "lucky" and just hit the
      correct spot for the reboot while there was a packet transmission in
      flight.
      
      Unable to handle kernel NULL pointer dereference at virtual address 0000000000000098
      CPU: 0 PID: 23 Comm: kworker/0:1 Not tainted 6.1.0-rc5-00088-gf3600ff8e322 #1930
      Hardware name: Kontron KBox A-230-LS (DT)
      pc : iommu_get_dma_domain+0x14/0x20
      lr : iommu_dma_map_page+0x9c/0x254
      Call trace:
       iommu_get_dma_domain+0x14/0x20
       dma_map_page_attrs+0x1ec/0x250
       enetc_start_xmit+0x14c/0x10b0
       enetc_xmit+0x60/0xdc
       dev_hard_start_xmit+0xb8/0x210
       sch_direct_xmit+0x11c/0x420
       __dev_queue_xmit+0x354/0xb20
       ip6_finish_output2+0x280/0x5b0
       __ip6_finish_output+0x15c/0x270
       ip6_output+0x78/0x15c
       NF_HOOK.constprop.0+0x50/0xd0
       mld_sendpack+0x1bc/0x320
       mld_ifc_work+0x1d8/0x4dc
       process_one_work+0x1e8/0x460
       worker_thread+0x178/0x534
       kthread+0xe0/0xe4
       ret_from_fork+0x10/0x20
      Code: d503201f f9416800 d503233f d50323bf (f9404c00)
      ---[ end trace 0000000000000000 ]---
      Kernel panic - not syncing: Oops: Fatal exception in interrupt
      
      This appears to be reproducible when the board has a fixed IP address,
      is ping flooded from another host, and "reboot -f" is used.
      
      The following is one more manifestation of the issue:
      
      $ reboot -f
      kvm: exiting hardware virtualization
      cfg80211: failed to load regulatory.db
      arm-smmu 5000000.iommu: disabling translation
      sdhci-esdhc 2140000.mmc: Removing from iommu group 11
      sdhci-esdhc 2150000.mmc: Removing from iommu group 12
      fsl-edma 22c0000.dma-controller: Removing from iommu group 17
      dwc3 3100000.usb: Removing from iommu group 9
      dwc3 3110000.usb: Removing from iommu group 10
      ahci-qoriq 3200000.sata: Removing from iommu group 2
      fsl-qdma 8380000.dma-controller: Removing from iommu group 20
      platform f080000.display: Removing from iommu group 0
      etnaviv-gpu f0c0000.gpu: Removing from iommu group 1
      etnaviv etnaviv: Removing from iommu group 1
      caam_jr 8010000.jr: Removing from iommu group 13
      caam_jr 8020000.jr: Removing from iommu group 14
      caam_jr 8030000.jr: Removing from iommu group 15
      caam_jr 8040000.jr: Removing from iommu group 16
      fsl_enetc 0000:00:00.0: Removing from iommu group 4
      arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x429; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
      arm-smmu 5000000.iommu:         GFSR 0x80000002, GFSYNR0 0x00000002, GFSYNR1 0x00000429, GFSYNR2 0x00000000
      fsl_enetc 0000:00:00.1: Removing from iommu group 5
      arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x429; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
      arm-smmu 5000000.iommu:         GFSR 0x80000002, GFSYNR0 0x00000002, GFSYNR1 0x00000429, GFSYNR2 0x00000000
      arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x429; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
      arm-smmu 5000000.iommu:         GFSR 0x80000002, GFSYNR0 0x00000000, GFSYNR1 0x00000429, GFSYNR2 0x00000000
      fsl_enetc 0000:00:00.2: Removing from iommu group 6
      fsl_enetc_mdio 0000:00:00.3: Removing from iommu group 8
      mscc_felix 0000:00:00.5: Removing from iommu group 3
      fsl_enetc 0000:00:00.6: Removing from iommu group 7
      pcieport 0001:00:00.0: Removing from iommu group 18
      arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x429; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
      arm-smmu 5000000.iommu:         GFSR 0x00000002, GFSYNR0 0x00000000, GFSYNR1 0x00000429, GFSYNR2 0x00000000
      pcieport 0002:00:00.0: Removing from iommu group 19
      Unable to handle kernel NULL pointer dereference at virtual address 00000000000000a8
      pc : iommu_get_dma_domain+0x14/0x20
      lr : iommu_dma_unmap_page+0x38/0xe0
      Call trace:
       iommu_get_dma_domain+0x14/0x20
       dma_unmap_page_attrs+0x38/0x1d0
       enetc_unmap_tx_buff.isra.0+0x6c/0x80
       enetc_poll+0x170/0x910
       __napi_poll+0x40/0x1e0
       net_rx_action+0x164/0x37c
       __do_softirq+0x128/0x368
       run_ksoftirqd+0x68/0x90
       smpboot_thread_fn+0x14c/0x190
      Code: d503201f f9416800 d503233f d50323bf (f9405400)
      ---[ end trace 0000000000000000 ]---
      Kernel panic - not syncing: Oops: Fatal exception in interrupt
      ---[ end Kernel panic - not syncing: Oops: Fatal exception in interrupt ]---
      
      The problem seems to be that iommu_group_remove_device() is allowed to
      run with no coordination whatsoever with the shutdown procedure of the
      enetc PCI device. In fact, it almost seems as if it implies that the
      pci_driver :: shutdown() method is mandatory if DMA is used with an
      IOMMU, otherwise this is inevitable. That was never the case; shutdown
      methods are optional in device drivers.
      
      This is the call stack that leads to iommu_group_remove_device() during
      reboot:
      
      kernel_restart
      -> device_shutdown
         -> platform_shutdown
            -> arm_smmu_device_shutdown
               -> arm_smmu_device_remove
                  -> iommu_device_unregister
                     -> bus_for_each_dev
                        -> remove_iommu_group
                           -> iommu_release_device
                              -> iommu_group_remove_device
      
      I don't know much about the arm_smmu driver, but
      arm_smmu_device_shutdown() invoking arm_smmu_device_remove() looks
      suspicious, since it causes the IOMMU device to unregister and that's
      where everything starts to unravel. It forces all other devices which
      depend on IOMMU groups to also point their ->shutdown() to ->remove(),
      which will make reboot slower overall.
      
      There are 2 moments relevant to this behavior. First was commit
      b06c076e ("Revert "iommu/arm-smmu: Make arm-smmu explicitly
      non-modular"") when arm_smmu_device_shutdown() was made to run the exact
      same thing as arm_smmu_device_remove(). Prior to that, there was no
      iommu_device_unregister() call in arm_smmu_device_shutdown(). However,
      that was benign until commit 57365a04 ("iommu: Move bus setup to
      IOMMU device registration"), which made iommu_device_unregister() call
      remove_iommu_group().
      
      Restore the old shutdown behavior by making remove() call shutdown(),
      but shutdown() does not call the remove() specific bits.
      
      Fixes: 57365a04
      
       ("iommu: Move bus setup to IOMMU device registration")
      Reported-by: default avatarMichael Walle <michael@walle.cc>
      Tested-by: Michael Walle <michael@walle.cc> # on kontron-sl28
      Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Link: https://lore.kernel.org/r/20221215141251.3688780-1-vladimir.oltean@nxp.com
      
      
      Signed-off-by: default avatarWill Deacon <will@kernel.org>
      ce31e6ca
    • Robin Murphy's avatar
      iommu/arm-smmu: Report IOMMU_CAP_CACHE_COHERENCY even betterer · ac9c5e92
      Robin Murphy authored
      
      
      Although it's vanishingly unlikely that anyone would integrate an SMMU
      within a coherent interconnect without also making the pagetable walk
      interface coherent, the same effect happens if a coherent SMMU fails to
      advertise CTTW correctly. This turns out to be the case on some popular
      NXP SoCs, where VFIO started failing the IOMMU_CAP_CACHE_COHERENCY test,
      even though IOMMU_CACHE *was* previously achieving the desired effect
      anyway thanks to the underlying integration.
      
      While those SoCs stand to gain some more general benefits from a
      firmware update to override CTTW correctly in DT/ACPI, it's also easy
      to work around this in Linux as well, to avoid imposing too much on
      affected users - since the upstream client devices *are* correctly
      marked as coherent, we can trivially infer their coherent paths through
      the SMMU as well.
      
      Reported-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Fixes: df198b37
      
       ("iommu/arm-smmu: Report IOMMU_CAP_CACHE_COHERENCY better")
      Signed-off-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Tested-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Link: https://lore.kernel.org/r/d6dc41952961e5c7b21acac08a8bf1eb0f69e124.1671123115.git.robin.murphy@arm.com
      
      
      Signed-off-by: default avatarWill Deacon <will@kernel.org>
      ac9c5e92
  2. Jan 09, 2023
  3. Jan 08, 2023
  4. Jan 07, 2023
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2023-01-06' of git://anongit.freedesktop.org/drm/drm · 0a715535
      Linus Torvalds authored
      Pull drm fixes from Daniel Vetter:
       "Still not much, but more than last week. Dave should be back next week
        from the beaching.
      
        drivers:
         - i915-gvt fixes
         - amdgpu/kfd fixes
         - panfrost bo refcounting fix
         - meson afbc corruption fix
         - imx plane width fix
      
        core:
         - drm/sched fixes
         - drm/mm kunit test fix
         - dma-buf export error handling fixes"
      
      * tag 'drm-fixes-2023-01-06' of git://anongit.freedesktop.org/drm/drm:
        Revert "drm/amd/display: Enable Freesync Video Mode by default"
        drm/i915/gvt: fix double free bug in split_2MB_gtt_entry
        drm/i915/gvt: use atomic operations to change the vGPU status
        drm/i915/gvt: fix vgpu debugfs clean in remove
        drm/i915/gvt: fix gvt debugfs destroy
        drm/i915: unpin on error in intel_vgpu_shadow_mm_pin()
        drm/amd/display: Uninitialized variables causing 4k60 UCLK to stay at DPM1 and not DPM0
        drm/amdkfd: Fix kernel warning during topology setup
        drm/scheduler: Fix lockup in drm_sched_entity_kill()
        drm/imx: ipuv3-plane: Fix overlay plane width
        drm/scheduler: Fix lockup in drm_sched_entity_kill()
        drm/virtio: Fix memory leak in virtio_gpu_object_create()
        drm/meson: Reduce the FIFO lines held when AFBC is not used
        drm/tests: reduce drm_mm_test stack usage
        drm/panfrost: Fix GEM handle creation ref-counting
        drm/plane-helper: Add the missing declaration of drm_atomic_state
        dma-buf: fix dma_buf_export init order v2
      0a715535
    • Jason A. Donenfeld's avatar
      tpm: Allow system suspend to continue when TPM suspend fails · 1382999a
      Jason A. Donenfeld authored
      TPM 1 is sometimes broken across system suspends, due to races or
      locking issues or something else that haven't been diagnosed or fixed
      yet, most likely having to do with concurrent reads from the TPM's
      hardware random number generator driver. These issues prevent the system
      from actually suspending, with errors like:
      
        tpm tpm0: A TPM error (28) occurred continue selftest
        ...
        tpm tpm0: A TPM error (28) occurred attempting get random
        ...
        tpm tpm0: Error (28) sending savestate before suspend
        tpm_tis 00:08: PM: __pnp_bus_suspend(): tpm_pm_suspend+0x0/0x80 returns 28
        tpm_tis 00:08: PM: dpm_run_callback(): pnp_bus_suspend+0x0/0x10 returns 28
        tpm_tis 00:08: PM: failed to suspend: error 28
        PM: Some devices failed to suspend, or early wake event detected
      
      This issue was partially fixed by 23393c64 ("char: tpm: Protect
      tpm_pm_suspend with locks"), in a last minute 6.1 commit that Linus took
      directly because the TPM maintainers weren't available. However, it
      seems like this just addresses the most common cases of the bug, rather
      than addressing it entirely. So there are more things to fix still,
      apparently.
      
      In lieu of actually fixing the underlying bug, just allow system suspend
      to continue, so that laptops still go to sleep fine. Later, this can be
      reverted when the real bug is fixed.
      
      Link: https://lore.kernel.org/lkml/7cbe96cf-e0b5-ba63-d1b4-f63d2e826efa@suse.cz/
      
      
      Cc: stable@vger.kernel.org # 6.1+
      Reported-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Acked-by: default avatarLuigi Semenzato <semenzato@chromium.org>
      Cc: Peter Huewe <peterhuewe@gmx.de>
      Cc: Jarkko Sakkinen <jarkko@kernel.org>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Johannes Altmanninger <aclopte@gmail.com>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1382999a
    • Linus Torvalds's avatar
      hfs/hfsplus: avoid WARN_ON() for sanity check, use proper error handling · cb7a95af
      Linus Torvalds authored
      Commit 55d1cbbb
      
       ("hfs/hfsplus: use WARN_ON for sanity check") fixed
      a build warning by turning a comment into a WARN_ON(), but it turns out
      that syzbot then complains because it can trigger said warning with a
      corrupted hfs image.
      
      The warning actually does warn about a bad situation, but we are much
      better off just handling it as the error it is.  So rather than warn
      about us doing bad things, stop doing the bad things and return -EIO.
      
      While at it, also fix a memory leak that was introduced by an earlier
      fix for a similar syzbot warning situation, and add a check for one case
      that historically wasn't handled at all (ie neither comment nor
      subsequent WARN_ON).
      
      Reported-by: default avatar <syzbot+7bb7cd3595533513a9e7@syzkaller.appspotmail.com>
      Fixes: 55d1cbbb ("hfs/hfsplus: use WARN_ON for sanity check")
      Fixes: 8d824e69 ("hfs: fix OOB Read in __hfs_brec_find")
      Link: https://lore.kernel.org/lkml/000000000000dbce4e05f170f289@google.com/
      
      
      Tested-by: default avatarMichael Schmitz <schmitzmic@gmail.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Viacheslav Dubeyko <slava@dubeyko.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cb7a95af
    • Linus Torvalds's avatar
      Merge tag 'block-2023-01-06' of git://git.kernel.dk/linux · a689b938
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "The big change here is obviously the revert of the pktcdvd driver
        removal. Outside of that, just minor tweaks. In detail:
      
         - Re-instate the pktcdvd driver, which necessitates adding back
           bio_copy_data_iter() and the fops->devnode() hook for now (me)
      
         - Fix for splitting of a bio marked as NOWAIT, causing either nowait
           reads or writes to error with EAGAIN even if parts of the IO
           completed (me)
      
         - Fix for ublk, punting management commands to io-wq as they can all
           easily block for extended periods of time (Ming)
      
         - Removal of SRCU dependency for the block layer (Paul)"
      
      * tag 'block-2023-01-06' of git://git.kernel.dk/linux:
        block: Remove "select SRCU"
        Revert "pktcdvd: remove driver."
        Revert "block: remove devnode callback from struct block_device_operations"
        Revert "block: bio_copy_data_iter"
        ublk: honor IO_URING_F_NONBLOCK for handling control command
        block: don't allow splitting of a REQ_NOWAIT bio
        block: handle bio_split_to_limits() NULL return
      a689b938
    • Linus Torvalds's avatar
      Merge tag 'io_uring-2023-01-06' of git://git.kernel.dk/linux · ef1a4a77
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "A few minor fixes that should go into the 6.2 release:
      
         - Fix for a memory leak in io-wq worker creation, if we ultimately
           end up canceling the worker creation before it gets created (me)
      
         - lockdep annotations for the CQ locking (Pavel)
      
         - A regression fix for CQ timeout handling (Pavel)
      
         - Ring pinning around deferred task_work fix (Pavel)
      
         - A trivial member move in struct io_ring_ctx, saving us some memory
           (me)"
      
      * tag 'io_uring-2023-01-06' of git://git.kernel.dk/linux:
        io_uring: fix CQ waiting timeout handling
        io_uring: move 'poll_multi_queue' bool in io_ring_ctx
        io_uring: lockdep annotate CQ locking
        io_uring: pin context while queueing deferred tw
        io_uring/io-wq: free worker if task_work creation is canceled
      ef1a4a77
    • Linus Torvalds's avatar
      Merge tag 'tif-notify-signal-2023-01-06' of git://git.kernel.dk/linux · 93387d49
      Linus Torvalds authored
      Pull arm TIF_NOTIFY_SIGNAL fixup from Jens Axboe:
       "Hui Tang reported a performance regressions with _TIF_WORK_MASK in
        newer kernels, which he tracked to a change that went into 5.11. After
        this change, we'll call do_work_pending() more often than we need to,
        because we're now testing bits 0..15 rather than just 0..7.
      
        Shuffle the bits around to avoid this"
      
      * tag 'tif-notify-signal-2023-01-06' of git://git.kernel.dk/linux:
        ARM: renumber bits related to _TIF_WORK_MASK
      93387d49
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-6.2-rc3' of https://github.com/ceph/ceph-client · 5c1a712f
      Linus Torvalds authored
      Pull ceph fixes from Ilya Dryomov:
       "Two file locking fixes from Xiubo"
      
      * tag 'ceph-for-6.2-rc3' of https://github.com/ceph/ceph-client:
        ceph: avoid use-after-free in ceph_fl_release_lock()
        ceph: switch to vfs_inode_has_locks() to fix file lock bug
      5c1a712f
    • Linus Torvalds's avatar
      Merge tag 'fixes_for_v6.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 7b8c854c
      Linus Torvalds authored
      Pull UDF fixes from Jan Kara:
       "Two fixups of the UDF changes that went into 6.2-rc1"
      
      * tag 'fixes_for_v6.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: initialize newblock to 0
        udf: Fix extension of the last extent in the file
      7b8c854c
    • Linus Torvalds's avatar
      Merge tag 'for-6.2-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · fc7b76c4
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "A few more regression and regular fixes:
      
         - regressions:
             - fix assertion condition using = instead of ==
             - fix false alert on bad tree level check
             - fix off-by-one error in delalloc search during lseek
      
         - fix compat ro feature check at read-write remount
      
         - handle case when read-repair happens with ongoing device replace
      
         - updated error messages"
      
      * tag 'for-6.2-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: fix compat_ro checks against remount
        btrfs: always report error in run_one_delayed_ref()
        btrfs: handle case when repair happens with dev-replace
        btrfs: fix off-by-one in delalloc search during lseek
        btrfs: fix false alert on bad tree level check
        btrfs: add error message for metadata level mismatch
        btrfs: fix ASSERT em->len condition in btrfs_get_extent
      fc7b76c4
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · a389e546
      Linus Torvalds authored
      Pull RISC-V fixes from Palmer Dabbelt:
      
       - use the correct mask for c.jr/c.jalr when decoding instructions
      
       - build fix for get_user() to avoid a sparse warning
      
      * tag 'riscv-for-linus-6.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: uaccess: fix type of 0 variable on error in get_user()
        riscv, kprobes: Stricter c.jr/c.jalr decoding
      a389e546
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v6.2-1-2023-01-06' of... · 56f81458
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v6.2-1-2023-01-06' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools fixes from Arnaldo Carvalho de Melo:
      
       - Fix segfault when trying to process tracepoints present in a
         perf.data file and not linked with libtraceevent.
      
       - Fix build on uClibc systems by adding missing sys/types.h include,
         that was being obtained indirectly which stopped being the case when
         tools/lib/traceevent was removed.
      
       - Don't show commands in 'perf help' that depend on linking with
         libtraceevent when not building with that library, which is now a
         possibility since we no longer ship a copy in tools/lib/traceevent.
      
       - Fix failure in 'perf test' entry testing the combination of 'perf
         probe' user space function + 'perf record' + 'perf script' where it
         expects a backtrace leading to glibc's inet_pton() from 'ping' that
         now happens more than once with glibc 2.35 for IPv6 addreses.
      
       - Fix for the inet_pton perf test on s/390 where
         'text_to_binary_address' now appears on the backtrace.
      
       - Fix build error on riscv due to missing header for 'struct
         perf_sample'.
      
       - Fix 'make -C tools perf_install' install variant by not propagating
         the 'subdir' to submakes for the 'install_headers' targets.
      
       - Fix handling of unsupported cgroup events when using BPF counters in
         'perf stat'.
      
       - Count all cgroups, not just the last one when using 'perf stat' and
         combining --for-each-cgroup with --bpf-counters.
      
         This makes the output using BPF counters match the output without
         using it, which was the intention all along, the output should be the
         same using --bpf-counters or not.
      
       - Fix 'perf lock contention' core dump related to not finding the
         "__sched_text_end" symbol on s/390.
      
       - Fix build failure when HEAD is signed: exclude the signature from the
         version string.
      
       - Add missing closedir() calls to in perf_data__open_dir(), plugging a
         fd leak.
      
      * tag 'perf-tools-fixes-for-v6.2-1-2023-01-06' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        perf tools: Fix build on uClibc systems by adding missing sys/types.h include
        perf stat: Fix handling of --for-each-cgroup with --bpf-counters to match non BPF mode
        perf stat: Fix handling of unsupported cgroup events when using BPF counters
        perf test record_probe_libc_inet_pton: Fix test on s/390 where 'text_to_binary_address' now appears on the backtrace
        perf lock contention: Fix core dump related to not finding the "__sched_text_end" symbol on s/390
        perf build: Don't propagate subdir to submakes for install_headers
        perf test record_probe_libc_inet_pton: Fix failure due to extra inet_pton() backtrace in glibc >= 2.35
        perf tools: Fix segfault when trying to process tracepoints in perf.data and not linked with libtraceevent
        perf tools: Don't include signature in version strings
        perf help: Use HAVE_LIBTRACEEVENT to filter out unsupported commands
        perf tools riscv: Fix build error on riscv due to missing header for 'struct perf_sample'
        perf tools: Fix resources leak in perf_data__open_dir()
      56f81458
    • Linus Torvalds's avatar
      Merge tag 'perf-urgent-2023-01-06' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d7a0853d
      Linus Torvalds authored
      Pull perf fix from Ingo Molnar:
       "Intel RAPL updates for new model IDs"
      
      * tag 'perf-urgent-2023-01-06' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/rapl: Add support for Intel Emerald Rapids
        perf/x86/rapl: Add support for Intel Meteor Lake
        perf/x86/rapl: Treat Tigerlake like Icelake
      d7a0853d
    • Linus Torvalds's avatar
      Merge tag 'v6.2-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 90bc52c5
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This fixes a CFI crash in arm64/sm4 as well as a regression in the
        caam driver"
      
      * tag 'v6.2-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: arm64/sm4 - fix possible crash with CFI enabled
        crypto: caam - fix CAAM io mem access in blob_gen
      90bc52c5
  5. Jan 06, 2023