• Linus Torvalds's avatar
    Merge tag 'for-6.2/dm-changes' of... · 8715c6d3
    Linus Torvalds authored
    Merge tag 'for-6.2/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
    
    Pull device mapper updates from Mike Snitzer:
    
     - Fix use-after-free races due to missing resource cleanup during DM
       target destruction in DM targets: thin-pool, cache, integrity and
       clone.
    
     - Fix ABBA deadlocks in DM thin-pool and cache targets due to their use
       of a bufio client (that has a shrinker whose locking can cause the
       incorrect locking order).
    
     - Fix DM cache target to set its needs_check flag after first aborting
       the metadata (whereby using reset persistent-data objects to update
       the superblock with, otherwise the superblock update could be dropped
       due to aborting metadata). This was found with code-inspection when
       comparing with the equivalent in DM thinp code.
    
     - Fix DM thin-pool's presume to continue resuming the device even if
       the pool in is fail mode -- otherwise bios may never be failed up the
       IO stack (which will prevent resetting the thin-pool target via table
       reload)
    
     - Fix DM thin-pool's metadata to use proper btree root (from previous
       transaction) if metadata commit failed.
    
     - Add 'waitfor' module param to DM module (dm_mod) to allow dm-init to
       wait for the specified device before continuing with its DM target
       initialization.
    
    * tag 'for-6.2/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
      dm thin: Use last transaction's pmd->root when commit failed
      dm init: add dm-mod.waitfor to wait for asynchronously probed block devices
      dm ioctl: fix a couple ioctl codes
      dm ioctl: a small code cleanup in list_version_get_info
      dm thin: resume even if in FAIL mode
      dm cache: set needs_check flag after aborting metadata
      dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort
      dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata
      dm integrity: Fix UAF in dm_integrity_dtr()
      dm cache: Fix UAF in destroy()
      dm clone: Fix UAF in clone_dtr()
      dm thin: Fix UAF in run_timer_softirq()
    8715c6d3
dm-thin.c 112 KB