]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dm-verity-fec: fix the size of dm_verity_fec_io::erasures
authorEric Biggers <ebiggers@kernel.org>
Fri, 6 Feb 2026 04:59:23 +0000 (20:59 -0800)
committerMikulas Patocka <mpatocka@redhat.com>
Mon, 9 Mar 2026 14:11:16 +0000 (15:11 +0100)
At most 25 entries in dm_verity_fec_io::erasures are used: the maximum
number of FEC roots plus one.  Therefore, set the array size
accordingly.  This reduces the size of dm_verity_fec_io by 912 bytes.

Note: a later commit introduces a constant DM_VERITY_FEC_MAX_ROOTS,
which allows the size to be more clearly expressed as
DM_VERITY_FEC_MAX_ROOTS + 1.  This commit just fixes the size first.

Fixes: a739ff3f543a ("dm verity: add support for forward error correction")
Cc: stable@vger.kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
drivers/md/dm-verity-fec.h

index 35d28d9f8a9b09166843f340ecb35a762bcbec02..32ca2bfee1db79b6cd83b0d6ba7579bfa09ecc0b 100644 (file)
@@ -47,7 +47,8 @@ struct dm_verity_fec {
 /* per-bio data */
 struct dm_verity_fec_io {
        struct rs_control *rs;  /* Reed-Solomon state */
-       int erasures[DM_VERITY_FEC_MAX_RSN];    /* erasures for decode_rs8 */
+       /* erasures for decode_rs8 */
+       int erasures[DM_VERITY_FEC_RSM - DM_VERITY_FEC_MIN_RSN + 1];
        u8 *output;             /* buffer for corrected output */
        unsigned int level;             /* recursion level */
        unsigned int nbufs;             /* number of buffers allocated */