1. Jun 27, 2023
    • Linus Torvalds's avatar
      Merge tag 'v6.5/vfs.rename.locking' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs · 2eedfa9e
      Linus Torvalds authored
      Pull vfs rename locking updates from Christian Brauner:
       "This contains the work from Jan to fix problems with cross-directory
        renames originally reported in [1].
      
        To quickly sum it up some filesystems (so far we know at least about
        ext4, udf, f2fs, ocfs2, likely also reiserfs, gfs2 and others) need to
        lock the directory when it is being renamed into another directory.
      
        This is because we need to update the parent pointer in the directory
        in that case and if that races with other operations on the directory,
        in particular a conversion from one directory format into another, bad
        things can happen.
      
        So far we've done the locking in the filesystem code but recently
        Darrick pointed out in [2] that the RENAME_EXCHANGE case was missing.
        That one is particularly nasty because RENAME_EXCHANGE can arbitrarily
        mix regular files and directories and proper lock ordering is not
        achievable in the files...
      2eedfa9e
    • Linus Torvalds's avatar
      Merge tag 'v6.5/vfs.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs · 64bf6ae9
      Linus Torvalds authored
      Pull misc vfs updates from Christian Brauner:
       "Miscellaneous features, cleanups, and fixes for vfs and individual fs
      
        Features:
      
         - Use mode 0600 for file created by cachefilesd so it can be run by
           unprivileged users. This aligns them with directories which are
           already created with mode 0700 by cachefilesd
      
         - Reorder a few members in struct file to prevent some false sharing
           scenarios
      
         - Indicate that an eventfd is used a semaphore in the eventfd's
           fdinfo procfs file
      
         - Add a missing uapi header for eventfd exposing relevant uapi
           defines
      
         - Let the VFS protect transitions of a superblock from read-only to
           read-write in addition to the protection it already provides for
           transitions from read-write to read-only. Protecting read-only to
           read-write transitions allows filesystems such as ext4 to perform
           internal writes, keeping writers away until the transition is
         ...
      64bf6ae9
    • Linus Torvalds's avatar
      Merge tag 'v6.5/fs.ntfs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs · 5c1c88cd
      Linus Torvalds authored
      Pull ntfs updates from Christian Brauner:
       "A pile of various smaller fixes for ntfs"
      
      * tag 'v6.5/fs.ntfs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
        ntfs: do not dereference a null ctx on error
        ntfs: Remove unneeded semicolon
        ntfs: Correct spelling
        ntfs: remove redundant initialization to pointer cb_sb_start
      5c1c88cd
    • Linus Torvalds's avatar
      Merge tag 'auxdisplay-6.5' of https://github.com/ojeda/linux · 1f268d6d
      Linus Torvalds authored
      Pull auxdisplay update from Miguel Ojeda:
       "A single cleanup for i2c drivers to switch them back to use
        '.probe()'"
      
      * tag 'auxdisplay-6.5' of https://github.com/ojeda/linux:
        auxdisplay: Switch i2c drivers back to use .probe()
      1f268d6d
    • Linus Torvalds's avatar
      Merge tag 'rust-6.5' of https://github.com/Rust-for-Linux/linux · a1257b5e
      Linus Torvalds authored
      Pull rust updates from Miguel Ojeda:
       "A fairly small one in terms of feature additions. Most of the changes
        in terms of lines come from the upgrade to the new version of the
        toolchain (which in turn is big due to the vendored 'alloc' crate).
      
        Upgrade to Rust 1.68.2:
      
         - This is the first such upgrade, and we will try to update it often
           from now on, in order to remain close to the latest release, until
           a minimum version (which is "in the future") can be established.
      
           The upgrade brings the stabilization of 4 features we used (and 2
           more that we used in our old 'rust' branch).
      
           Commit 3ed03f4d ("rust: upgrade to Rust 1.68.2") contains the
           details and rationale.
      
        pin-init API:
      
         - Several internal improvements and fixes to the pin-init API, e.g.
           allowing to use 'Self' in a struct definition with '#[pin_data]'.
      
        'error' module:
      
         - New 'name()' method for the 'Error' type (with 'errname()'
       ...
      a1257b5e
    • Linus Torvalds's avatar
      Merge tag 's390-6.4-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 9d9a9bf0
      Linus Torvalds authored
      Pull s390 updates from Alexander Gordeev:
      
       - Use correct type for size of memory allocated for ELF core header on
         kernel crash.
      
       - Fix insecure W+X mapping warning when KASAN shadow memory range is
         not aligned on page boundary.
      
       - Avoid allocation of short by one page KASAN shadow memory when the
         original memory range is less than (PAGE_SIZE << 3).
      
       - Fix virtual vs physical address confusion in physical memory
         enumerator. It is not a real issue, since virtual and physical
         addresses are currently the same.
      
       - Set CONFIG_NET_TC_SKB_EXT=y in s390 config files as it is required
         for offloading TC as well as bridges on switchdev capable ConnectX
         devices.
      
      * tag 's390-6.4-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/defconfigs: set CONFIG_NET_TC_SKB_EXT=y
        s390/boot: fix physmem_info virtual vs physical address confusion
        s390/kasan: avoid short by one page shadow memory
        s390/kasan: fix insecure W+X mapping warning
        s390/crash: use the correct type for memory allocation
      9d9a9bf0
    • Linus Torvalds's avatar
      Merge tag 'nios2_updates_for_v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux · be5b52dc
      Linus Torvalds authored
      Pull nios2 updates from Dinh Nguyen:
      
       - Convert pgtable constructor/destructors to ptdesc
      
       - Replace strlcpy with strscpy
      
      * tag 'nios2_updates_for_v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
        nios2: Replace all non-returning strlcpy with strscpy
        nios2: Convert __pte_free_tlb() to use ptdescs
      be5b52dc
  2. Jun 26, 2023
  3. Jun 24, 2023
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2023-06-23' of git://anongit.freedesktop.org/drm/drm · a92b7d26
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Very quiet last week, just two misc fixes, one dp-mst and one qaic:
      
        qaic:
         - dma-buf import fix
      
        dp-mst:
         - fix NULL ptr deref"
      
      [ It turns out it was a quiet week because Alex Deucher hadn't sent in
        his pending AMD changes. So they are coming next    - Linus ]
      
      * tag 'drm-fixes-2023-06-23' of git://anongit.freedesktop.org/drm/drm:
        drm: use mgr->dev in drm_dbg_kms in drm_dp_add_payload_part2
        accel/qaic: Call DRM helper function to destroy prime GEM
      a92b7d26
    • Linus Torvalds's avatar
      Merge tag 'arm-fixes-6.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 0f56e657
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "The final bug fixes for Qualcomm and Rockchips came in, all of them
        for devicetree files:
      
         - Devices on Qualcomm SC7180/SC7280 that are cache coherent are now
           marked so correctly to fix a regression after a change in kernel
           behavior
      
         - Rockchips has a few minor changes for correctness of regulator and
           cache properties, as well as fixes for incorrect behavior of the
           RK3568 PCI controller and reset pins on two boards"
      
      * tag 'arm-fixes-6.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        arm64: dts: qcom: sc7280: Mark SCM as dma-coherent for chrome devices
        arm64: dts: qcom: sc7180: Mark SCM as dma-coherent for trogdor
        arm64: dts: qcom: sc7180: Mark SCM as dma-coherent for IDP
        dt-bindings: firmware: qcom,scm: Document that SCM can be dma-coherent
        arm64: dts: rockchip: Fix rk356x PCIe register and range mappings
        arm64: dts: rockchip: fix button reset pin for nanopi r5c
        arm64: dts: rockchip: fix nEXTRST on SOQuartz
        arm64: dts: rockchip: add missing cache properties
        arm64: dts: rockchip: fix USB regulator on ROCK64
      0f56e657
    • Linus Torvalds's avatar
      Merge tag 'for-6.4-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 569fa939
      Linus Torvalds authored
      Pull btrfs fix from David Sterba:
       "Unfortunately the recent u32 overflow fix was not complete, there was
        one conversion left, assertion not triggered by my tests but caught by
        Qu's fstests case.
      
        The "cleanup for later" has been promoted to a proper fix and wraps
        all uses of the stripe left shift so the diffstat has grown but leaves
        no potentially problematic uses.
      
        We should have done it that way before, sorry"
      
      * tag 'for-6.4-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: fix remaining u32 overflows when left shifting stripe_nr
      569fa939
    • Linus Torvalds's avatar
      Merge tag 'block-6.4-2023-06-23' of git://git.kernel.dk/linux · 9cb38381
      Linus Torvalds authored
      Pull block fix from Jens Axboe:
       "It's apparently the week of 'fixup something from last week', because
        the same is true for this block pull request.
      
        Fix up a lock grab that needs to be IRQ saving, rather than just IRQ
        disabling, in the block cgroup code"
      
      * tag 'block-6.4-2023-06-23' of git://git.kernel.dk/linux:
        block: make sure local irq is disabled when calling __blkcg_rstat_flush
      9cb38381
    • Linus Torvalds's avatar
      Merge tag 'iommu-fix-v6.4-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 917b3c7c
      Linus Torvalds authored
      Pull iommu fix from Joerg Roedel:
      
       - Fix potential memory leak in AMD IOMMU domain allocation path
      
      * tag 'iommu-fix-v6.4-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/amd: Fix possible memory leak of 'domain'
      917b3c7c
    • Linus Torvalds's avatar
      Merge tag 'sound-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 61dabacd
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Three oneliner fixes: one for a thinko in SOF SoundWire code and two
        HD-audio quirks for ASUS laptops. All device-specific and should be
        safe to apply"
      
      * tag 'sound-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek: Add quirk for ASUS ROG GV601V
        ALSA: hda/realtek: Add quirk for ASUS ROG G634Z
        ASoC: intel: sof_sdw: Fixup typo in device link checking
      61dabacd
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 6edecb99
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - fix IRQ initialization in gpiochip_irqchip_add_domain()
      
       - add a missing return value check for platform_get_irq() in
         gpio-sifive
      
       - don't free irq_domains which GPIOLIB does not manage
      
      * tag 'gpio-fixes-for-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpiolib: Fix irq_domain resource tracking for gpiochip_irqchip_add_domain()
        gpio: sifive: add missing check for platform_get_irq
        gpiolib: Fix GPIO chip IRQ initialization restriction
      6edecb99
    • Arnd Bergmann's avatar
      Merge tag 'qcom-arm64-fixes-for-6.4-2' of... · ed8ff046
      Arnd Bergmann authored
      Merge tag 'qcom-arm64-fixes-for-6.4-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/fixes
      
      One last Qualcomm ARM64 DeviceTree fix for v6.4
      
      Changes related to cache management for DMA memory caused WiFi to stop
      work on SC7180 and SC7280 based products, using TF-A. These changes
      marks the relevant device dma-coherent to correct the behavior.
      
      * tag 'qcom-arm64-fixes-for-6.4-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
        arm64: dts: qcom: sc7280: Mark SCM as dma-coherent for chrome devices
        arm64: dts: qcom: sc7180: Mark SCM as dma-coherent for trogdor
        arm64: dts: qcom: sc7180: Mark SCM as dma-coherent for IDP
        dt-bindings: firmware: qcom,scm: Document that SCM can be dma-coherent
      
      Link: https://lore.kernel.org/r/20230622203248.106422-1-andersson@kernel.org
      
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      ed8ff046
    • Linus Torvalds's avatar
      workqueue: clean up WORK_* constant types, clarify masking · afa4bb77
      Linus Torvalds authored
      
      
      Dave Airlie reports that gcc-13.1.1 has started complaining about some
      of the workqueue code in 32-bit arm builds:
      
        kernel/workqueue.c: In function ‘get_work_pwq’:
        kernel/workqueue.c:713:24: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
          713 |                 return (void *)(data & WORK_STRUCT_WQ_DATA_MASK);
              |                        ^
        [ ... a couple of other cases ... ]
      
      and while it's not immediately clear exactly why gcc started complaining
      about it now, I suspect it's some C23-induced enum type handlign fixup in
      gcc-13 is the cause.
      
      Whatever the reason for starting to complain, the code and data types
      are indeed disgusting enough that the complaint is warranted.
      
      The wq code ends up creating various "helper constants" (like that
      WORK_STRUCT_WQ_DATA_MASK) using an enum type, which is all kinds of
      confused.  The mask needs to be 'unsigned long', not some unspecified
      enum type.
      
      To make matters worse, the actual "mask and cast to a pointer" is
      repeated a couple of times, and the cast isn't even always done to the
      right pointer, but - as the error case above - to a 'void *' with then
      the compiler finishing the job.
      
      That's now how we roll in the kernel.
      
      So create the masks using the proper types rather than some ambiguous
      enumeration, and use a nice helper that actually does the type
      conversion in one well-defined place.
      
      Incidentally, this magically makes clang generate better code.  That,
      admittedly, is really just a sign of clang having been seriously
      confused before, and cleaning up the typing unconfuses the compiler too.
      
      Reported-by: default avatarDave Airlie <airlied@gmail.com>
      Link: https://lore.kernel.org/lkml/CAPM=9twNnV4zMCvrPkw3H-ajZOH-01JVh_kDrxdPYQErz8ZTdA@mail.gmail.com/
      
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Nick Desaulniers <ndesaulniers@google.com>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      afa4bb77
  4. Jun 23, 2023
  5. Jun 22, 2023