The dm-verity kconfig options make the common mistake of selecting a
dependency from a bool "sub-option" rather than the main tristate
option.  This unnecessarily forces the dependency to built-in ('y').

Fix this by moving the selections of REED_SOLOMON and REED_SOLOMON_DEC8
into DM_VERITY, conditional on DM_VERITY_FEC.

This allows REED_SOLOMON to be 'm' if DM_VERITY is 'm'.

Signed-off-by: Eric Biggers <[email protected]>
---
 drivers/md/Kconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/md/Kconfig b/drivers/md/Kconfig
index 239c1744a926..c58a9a8ea54e 100644
--- a/drivers/md/Kconfig
+++ b/drivers/md/Kconfig
@@ -547,10 +547,12 @@ config DM_VERITY
        depends on BLK_DEV_DM
        select CRYPTO
        select CRYPTO_HASH
        select CRYPTO_LIB_SHA256
        select DM_BUFIO
+       select REED_SOLOMON if DM_VERITY_FEC
+       select REED_SOLOMON_DEC8 if DM_VERITY_FEC
        help
          This device-mapper target creates a read-only device that
          transparently validates the data on one underlying device against
          a pre-generated tree of cryptographic checksums stored on a second
          device.
@@ -596,12 +598,10 @@ config DM_VERITY_VERIFY_ROOTHASH_SIG_PLATFORM_KEYRING
          If unsure, say N.
 
 config DM_VERITY_FEC
        bool "Verity forward error correction support"
        depends on DM_VERITY
-       select REED_SOLOMON
-       select REED_SOLOMON_DEC8
        help
          Add forward error correction support to dm-verity. This option
          makes it possible to use pre-generated error correction data to
          recover from corrupted blocks.
 
-- 
2.52.0


Reply via email to