[PATCH 00/22] dm-verity: more FEC fixes and cleanups

Eric Biggers posted 22 patches 1 day, 10 hours ago
.../admin-guide/device-mapper/verity.rst      | 122 +++++-
drivers/md/dm-verity-fec.c                    | 380 ++++++++----------
drivers/md/dm-verity-fec.h                    |  28 +-
drivers/md/dm-verity-target.c                 |   8 +-
drivers/md/dm-verity.h                        |   4 +-
5 files changed, 294 insertions(+), 248 deletions(-)
[PATCH 00/22] dm-verity: more FEC fixes and cleanups
Posted by Eric Biggers 1 day, 10 hours ago
This series applies to linux-dm/for-next.  It can also be retrieved from:

    git fetch https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git dm-verity-fec-2026-02-05

Patches 1-5 fix bugs in dm-verity's forward error correction (FEC):

- FEC and hash devices that are too small were not rejected.

- Corrected blocks could be multiple-counted in statistics.

- The erasures array was significantly oversized for its use case.

- An out-of-bounds read could occur when decoding an RS codeword whose
  parity bytes span a block boundary.

Patches 6-22 clean up the FEC implementation to be easier to understand
and improve documentation and log messages.

Eric Biggers (22):
  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()

 .../admin-guide/device-mapper/verity.rst      | 122 +++++-
 drivers/md/dm-verity-fec.c                    | 380 ++++++++----------
 drivers/md/dm-verity-fec.h                    |  28 +-
 drivers/md/dm-verity-target.c                 |   8 +-
 drivers/md/dm-verity.h                        |   4 +-
 5 files changed, 294 insertions(+), 248 deletions(-)


base-commit: 218b16992a37ea97b9e09b7659a25a864fb9976f
-- 
2.52.0