1. 02 Apr, 2022 2 commits
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.18-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · b32e3819
      Linus Torvalds authored
      Pull xfs fixes from Darrick Wong:
       "This fixes multiple problems in the reserve pool sizing functions: an
        incorrect free space calculation, a pointless infinite loop, and even
        more braindamage that could result in the pool being overfilled. The
        pile of patches from Dave fix myriad races and UAF bugs in the log
        recovery code that much to our mutual surprise nobody's tripped over.
        Dave also fixed a performance optimization that had turned into a
        regression.
      
        Dave Chinner is taking over as XFS maintainer starting Sunday and
        lasting until 5.19-rc1 is tagged so that I can focus on starting a
        massive design review for the (feature complete after five years)
        online repair feature. From then on, he and I will be moving XFS to a
        co-maintainership model by trading duties every other release.
      
        NOTE: I hope very strongly that the other pieces of the (X)FS
        ecosystem (fstests and xfsprogs) will make similar changes to spread
        their maintenance load.
      
        Summary:
      
         - Fix an incorrect free space calculation in xfs_reserve_blocks that
           could lead to a request for free blocks that will never succeed.
      
         - Fix a hang in xfs_reserve_blocks caused by an infinite loop and the
           incorrect free space calculation.
      
         - Fix yet a third problem in xfs_reserve_blocks where multiple racing
           threads can overfill the reserve pool.
      
         - Fix an accounting error that lead to us reporting reserved space as
           "available".
      
         - Fix a race condition during abnormal fs shutdown that could cause
           UAF problems when memory reclaim and log shutdown try to clean up
           inodes.
      
         - Fix a bug where log shutdown can race with unmount to tear down the
           log, thereby causing UAF errors.
      
         - Disentangle log and filesystem shutdown to reduce confusion.
      
         - Fix some confusion in xfs_trans_commit such that a race between
           transaction commit and filesystem shutdown can cause unlogged dirty
           inode metadata to be committed, thereby corrupting the filesystem.
      
         - Remove a performance optimization in the log as it was discovered
           that certain storage hardware handle async log flushes so poorly as
           to cause serious performance regressions. Recent restructuring of
           other parts of the logging code mean that no performance benefit is
           seen on hardware that handle it well"
      
      * tag 'xfs-5.18-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: drop async cache flushes from CIL commits.
        xfs: shutdown during log recovery needs to mark the log shutdown
        xfs: xfs_trans_commit() path must check for log shutdown
        xfs: xfs_do_force_shutdown needs to block racing shutdowns
        xfs: log shutdown triggers should only shut down the log
        xfs: run callbacks before waking waiters in xlog_state_shutdown_callbacks
        xfs: shutdown in intent recovery has non-intent items in the AIL
        xfs: aborting inodes on shutdown may need buffer lock
        xfs: don't report reserved bnobt space as available
        xfs: fix overfilling of reserve pool
        xfs: always succeed at setting the reserve pool size
        xfs: remove infinite loop when reserving free block pool
        xfs: don't include bnobt blocks when reserving free block pool
        xfs: document the XFS_ALLOC_AGFL_RESERVE constant
      b32e3819
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.18-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 1fdff407
      Linus Torvalds authored
      Pull RISC-V fix from Palmer Dabbelt:
      
       - Fix the RISC-V section of the generic CPU idle bindings to comply
         with the recently tightened DT schema.
      
      * tag 'riscv-for-linus-5.18-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        dt-bindings: Fix phandle-array issues in the idle-states bindings
      1fdff407
  2. 01 Apr, 2022 38 commits