Since all implementations of crypt_iv_operations::wipe now return 0,
change the return type to void.

Signed-off-by: Eric Biggers <[email protected]>
---
 drivers/md/dm-crypt.c | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index 76b0c6bfd45c..885208a82c55 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -108,11 +108,11 @@ struct crypt_config;
 struct crypt_iv_operations {
        int (*ctr)(struct crypt_config *cc, struct dm_target *ti,
                   const char *opts);
        void (*dtr)(struct crypt_config *cc);
        int (*init)(struct crypt_config *cc);
-       int (*wipe)(struct crypt_config *cc);
+       void (*wipe)(struct crypt_config *cc);
        int (*generator)(struct crypt_config *cc, u8 *iv,
                         struct dm_crypt_request *dmreq);
        int (*post)(struct crypt_config *cc, u8 *iv,
                    struct dm_crypt_request *dmreq);
 };
@@ -506,18 +506,16 @@ static int crypt_iv_lmk_init(struct crypt_config *cc)
                       MD5_DIGEST_SIZE);
 
        return 0;
 }
 
-static int crypt_iv_lmk_wipe(struct crypt_config *cc)
+static void crypt_iv_lmk_wipe(struct crypt_config *cc)
 {
        struct iv_lmk_private *lmk = &cc->iv_gen_private.lmk;
 
        if (lmk->seed)
                memset(lmk->seed, 0, LMK_SEED_SIZE);
-
-       return 0;
 }
 
 static void crypt_iv_lmk_one(struct crypt_config *cc, u8 *iv,
                             struct dm_crypt_request *dmreq, u8 *data)
 {
@@ -627,18 +625,16 @@ static int crypt_iv_tcw_init(struct crypt_config *cc)
               TCW_WHITENING_SIZE);
 
        return 0;
 }
 
-static int crypt_iv_tcw_wipe(struct crypt_config *cc)
+static void crypt_iv_tcw_wipe(struct crypt_config *cc)
 {
        struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw;
 
        memset(tcw->iv_seed, 0, cc->iv_size);
        memset(tcw->whitening, 0, TCW_WHITENING_SIZE);
-
-       return 0;
 }
 
 static void crypt_iv_tcw_whitening(struct crypt_config *cc,
                                   struct dm_crypt_request *dmreq, u8 *data)
 {
@@ -1013,16 +1009,15 @@ static int crypt_iv_elephant_init(struct crypt_config 
*cc)
        int key_offset = cc->key_size - cc->key_extra_size;
 
        return aes_prepareenckey(elephant->key, &cc->key[key_offset], 
cc->key_extra_size);
 }
 
-static int crypt_iv_elephant_wipe(struct crypt_config *cc)
+static void crypt_iv_elephant_wipe(struct crypt_config *cc)
 {
        struct iv_elephant_private *elephant = &cc->iv_gen_private.elephant;
 
        memzero_explicit(elephant->key, sizeof(*elephant->key));
-       return 0;
 }
 
 static const struct crypt_iv_operations crypt_iv_plain_ops = {
        .generator = crypt_iv_plain_gen
 };
@@ -2646,15 +2641,12 @@ static int crypt_wipe_key(struct crypt_config *cc)
 
        clear_bit(DM_CRYPT_KEY_VALID, &cc->flags);
        get_random_bytes(&cc->key, cc->key_size);
 
        /* Wipe IV private keys */
-       if (cc->iv_gen_ops && cc->iv_gen_ops->wipe) {
-               r = cc->iv_gen_ops->wipe(cc);
-               if (r)
-                       return r;
-       }
+       if (cc->iv_gen_ops && cc->iv_gen_ops->wipe)
+               cc->iv_gen_ops->wipe(cc);
 
        kfree_sensitive(cc->key_string);
        cc->key_string = NULL;
        r = crypt_setkey(cc);
        memset(&cc->key, 0, cc->key_size * sizeof(u8));
-- 
2.53.0


Reply via email to