Hi Linus,

Please pull the device mapper updates for 7.1. There are fixes for some
corner case crashes in dm-cache and dm-mirror, new setup functionality for
dm-vdo, and miscellaneous minor fixes and cleanups, especially to dm-verity.

The following changes since commit 11439c4635edd669ae435eec308f4ab8a0804808:

  Linux 7.0-rc2 (2026-03-01 15:39:31 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git 
tags/for-7.1/dm-changes

for you to fetch changes up to 8c0ee19db81f0fa1ff25fd75b22b17c0cc2acde3:

  dm cache: fix missing return in invalidate_committed's error path (2026-04-10 
15:16:06 +0200)

----------------------------------------------------------------
Device Mapper patches for 7.1

dm-vdo:
- Make dm-vdo able to format the device itself, like other dm targets,
  instead of needing a userspace formating program.
- Add some sanity checks and code cleanup.

dm-cache:
- Fix crashes and hangs when operating in passthrough mode (which have
  been around, unnoticed, since 4.12), as well as a late arriving fix for
  an error path bug in the passthrough fix.
- Fix a corner case memory leak.

dm-verity:
- Another set of minor bugfixes and code cleanups to the forward error
  correction code.

dm-mirror
- Fix minor initialization bug
- Fix overflow crash on a large devices with small region sizes

dm-crypt
- Reimplement elephant diffuser using AES library and minor cleanups

dm-core:
- Claude found a buffer overflow in /dev/mapper/contrl ioctl handling
- make dm_mod.wait_for correctly wait for partitions
- minor code fixes and cleanups

----------------------------------------------------------------
Benjamin Marzinski (1):
      dm-mpath: don't stop probing paths at presuspend

Bruce Johnston (9):
      dm vdo: add geometry block initialization to encodings.c
      dm vdo: add super block initialization to encodings.c
      dm vdo: add formatting parameters to table line
      dm vdo: add upfront validation for logical size
      dm vdo: add geometry block encoding
      dm vdo: add geometry block structure
      dm vdo: add synchronous metadata I/O submission helper
      dm vdo: add formatting logic and initialization
      dm vdo: save the formatted metadata to disk

Colin Ian King (1):
      dm vdo: Fix spelling mistake "postive" -> "positive"

Eric Biggers (27):
      dm-ima: use SHA-256 library
      dm-verity-fec: correctly reject too-small FEC devices
      dm-verity-fec: correctly reject too-small hash devices
      dm-verity-fec: fix corrected block count stat
      dm-verity-fec: fix the size of dm_verity_fec_io::erasures
      dm-verity-fec: fix reading parity bytes split across blocks (take 3)
      dm-verity: rename dm_verity::hash_blocks to dm_verity::hash_end
      dm-verity-fec: improve documentation for Forward Error Correction
      dm-verity-fec: replace {MAX,MIN}_RSN with {MIN,MAX}_ROOTS
      dm-verity-fec: use standard names for Reed-Solomon parameters
      dm-verity-fec: rename "RS block" to "RS codeword"
      dm-verity-fec: replace io_size with block_size
      dm-verity-fec: rename rounds to region_blocks
      dm-verity-fec: simplify computation of rsb
      dm-verity-fec: simplify computation of ileaved
      dm-verity-fec: simplify deinterleaving
      dm-verity-fec: rename block_offset to out_pos
      dm-verity-fec: move computation of offset and rsb down a level
      dm-verity-fec: compute target region directly
      dm-verity-fec: pass down index_in_region instead of rsb
      dm-verity-fec: make fec_decode_bufs() just return 0 or error
      dm-verity-fec: log target_block instead of index_in_region
      dm-verity-fec: improve comments for fec_read_bufs()
      dm-verity-fec: warn even when there were no errors
      dm-crypt: Reimplement elephant diffuser using AES library
      dm-crypt: Make crypt_iv_operations::wipe return void
      dm-crypt: Make crypt_iv_operations::post return void

Guillaume Gonnet (1):
      dm init: ensure device probing has finished in dm-mod.waitfor=

Junrui Luo (2):
      dm mirror: fix integer overflow in create_dirty_log()
      dm log: fix out-of-bounds write due to region_count overflow

Keith Busch (3):
      dm-integrity: fix mismatched queue limits
      dm-integrity: always set the io hints
      dm: provide helper to set stacked limits

Ken Raeburn (3):
      dm vdo: update vdo_allocate_extended to take a field name, no types
      dm vdo: remove redundant TYPE argument from vdo_allocate macro
      dm vdo: add __counted_by attribute to a number of structures

Matthew Sakai (2):
      dm vdo indexer: validate saved zone count
      dm vdo slab-depot: validate old zone count on load

Mikulas Patocka (3):
      dm: don't report warning when doing deferred remove
      dm: make "dmsetup remove_all" interruptible
      dm: fix a buffer overflow in ioctl processing

Ming-Hung Tsai (9):
      dm cache: fix null-deref with concurrent writes in passthrough mode
      dm cache: fix write path cache coherency in passthrough mode
      dm cache: fix write hang in passthrough mode
      dm cache policy smq: fix missing locks in invalidating cache blocks
      dm cache: fix concurrent write failure in passthrough mode
      dm cache: fix dirty mapping checking in passthrough mode switching
      dm cache: prevent entering passthrough mode after unclean shutdown
      dm cache metadata: fix memory leak on metadata abort retry
      dm cache: fix missing return in invalidate_committed's error path

Rosen Penev (1):
      dm-bufio: use kzalloc_flex

 Documentation/admin-guide/device-mapper/verity.rst | 122 +++++--
 drivers/md/Kconfig                                 |   2 +
 drivers/md/dm-bufio.c                              |   4 +-
 drivers/md/dm-cache-metadata.c                     |  33 +-
 drivers/md/dm-cache-metadata.h                     |  10 +-
 drivers/md/dm-cache-policy-smq.c                   |   4 +
 drivers/md/dm-cache-target.c                       |  92 +++--
 drivers/md/dm-crypt.c                              | 140 +++-----
 drivers/md/dm-ima.c                                |  54 +--
 drivers/md/dm-ima.h                                |   1 -
 drivers/md/dm-init.c                               |   4 +-
 drivers/md/dm-integrity.c                          |  10 +-
 drivers/md/dm-ioctl.c                              |  39 ++-
 drivers/md/dm-log.c                                |   6 +-
 drivers/md/dm-mpath.c                              |   9 +-
 drivers/md/dm-raid1.c                              |   6 +-
 drivers/md/dm-vdo/action-manager.c                 |   2 +-
 drivers/md/dm-vdo/block-map.c                      |  32 +-
 drivers/md/dm-vdo/block-map.h                      |   2 +-
 drivers/md/dm-vdo/constants.h                      |  13 +-
 drivers/md/dm-vdo/data-vio.c                       |   3 +-
 drivers/md/dm-vdo/dedupe.c                         |   8 +-
 drivers/md/dm-vdo/dm-vdo-target.c                  | 151 +++++++-
 drivers/md/dm-vdo/encodings.c                      | 221 +++++++++++-
 drivers/md/dm-vdo/encodings.h                      |  17 +
 drivers/md/dm-vdo/flush.c                          |   4 +-
 drivers/md/dm-vdo/funnel-queue.c                   |   2 +-
 drivers/md/dm-vdo/funnel-workqueue.c               |   8 +-
 drivers/md/dm-vdo/indexer/chapter-index.c          |   2 +-
 drivers/md/dm-vdo/indexer/config.c                 |   2 +-
 drivers/md/dm-vdo/indexer/delta-index.c            |  13 +-
 drivers/md/dm-vdo/indexer/funnel-requestqueue.c    |   2 +-
 drivers/md/dm-vdo/indexer/geometry.c               |   2 +-
 drivers/md/dm-vdo/indexer/index-layout.c           |  54 ++-
 drivers/md/dm-vdo/indexer/index-page-map.c         |   8 +-
 drivers/md/dm-vdo/indexer/index-session.c          |   2 +-
 drivers/md/dm-vdo/indexer/index.c                  |  14 +-
 drivers/md/dm-vdo/indexer/index.h                  |   2 +-
 drivers/md/dm-vdo/indexer/indexer.h                |   4 +
 drivers/md/dm-vdo/indexer/io-factory.c             |   6 +-
 drivers/md/dm-vdo/indexer/open-chapter.c           |   4 +-
 drivers/md/dm-vdo/indexer/open-chapter.h           |   2 +-
 drivers/md/dm-vdo/indexer/radix-sort.c             |   3 +-
 drivers/md/dm-vdo/indexer/sparse-cache.c           |  10 +-
 drivers/md/dm-vdo/indexer/volume-index.c           |  10 +-
 drivers/md/dm-vdo/indexer/volume.c                 |  22 +-
 drivers/md/dm-vdo/int-map.c                        |   5 +-
 drivers/md/dm-vdo/io-submitter.c                   |  30 +-
 drivers/md/dm-vdo/io-submitter.h                   |   4 +
 drivers/md/dm-vdo/logical-zone.c                   |   3 +-
 drivers/md/dm-vdo/logical-zone.h                   |   2 +-
 drivers/md/dm-vdo/memory-alloc.c                   |   8 +-
 drivers/md/dm-vdo/memory-alloc.h                   |  74 +---
 drivers/md/dm-vdo/message-stats.c                  |   2 +-
 drivers/md/dm-vdo/packer.c                         |   9 +-
 drivers/md/dm-vdo/physical-zone.c                  |   8 +-
 drivers/md/dm-vdo/priority-table.c                 |   3 +-
 drivers/md/dm-vdo/recovery-journal.c               |  23 +-
 drivers/md/dm-vdo/repair.c                         |  17 +-
 drivers/md/dm-vdo/slab-depot.c                     |  41 +--
 drivers/md/dm-vdo/slab-depot.h                     |   2 +-
 drivers/md/dm-vdo/status-codes.c                   |   2 +
 drivers/md/dm-vdo/thread-utils.c                   |   2 +-
 drivers/md/dm-vdo/types.h                          |   3 +
 drivers/md/dm-vdo/vdo.c                            | 333 ++++++++++++------
 drivers/md/dm-vdo/vdo.h                            |  19 ++
 drivers/md/dm-vdo/vio.c                            |  12 +-
 drivers/md/dm-verity-fec.c                         | 380 ++++++++++-----------
 drivers/md/dm-verity-fec.h                         |  28 +-
 drivers/md/dm-verity-target.c                      |  16 +-
 drivers/md/dm-verity.h                             |   4 +-
 drivers/md/dm-writecache.c                         |  10 +-
 include/linux/device-mapper.h                      |   7 +
 73 files changed, 1348 insertions(+), 860 deletions(-)


Reply via email to