lkml.org 
[lkml]   [2010]   [Aug]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[66/67] crypto: testmgr - add an option to disable cryptoalgos self-tests
    2.6.35-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Alexander Shishkin <virtuoso@slind.org>

    commit 0b767f96164b2b27488e3daa722ff16e89d49314 upstream.

    By default, CONFIG_CRYPTO_MANAGER_TESTS will be enabled and thus
    self-tests will still run, but it is now possible to disable them
    to gain some time during bootup.

    Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    crypto/Kconfig | 8 ++++++++
    crypto/algboss.c | 4 ++++
    crypto/testmgr.c | 14 ++++++++++++++
    3 files changed, 26 insertions(+)

    --- a/crypto/Kconfig
    +++ b/crypto/Kconfig
    @@ -96,6 +96,14 @@ config CRYPTO_MANAGER2
    select CRYPTO_BLKCIPHER2
    select CRYPTO_PCOMP

    +config CRYPTO_MANAGER_TESTS
    + bool "Run algolithms' self-tests"
    + default y
    + depends on CRYPTO_MANAGER2
    + help
    + Run cryptomanager's tests for the new crypto algorithms being
    + registered.
    +
    config CRYPTO_GF128MUL
    tristate "GF(2^128) multiplication functions (EXPERIMENTAL)"
    depends on EXPERIMENTAL
    --- a/crypto/algboss.c
    +++ b/crypto/algboss.c
    @@ -206,6 +206,7 @@ err:
    return NOTIFY_OK;
    }

    +#ifdef CONFIG_CRYPTO_MANAGER_TESTS
    static int cryptomgr_test(void *data)
    {
    struct crypto_test_param *param = data;
    @@ -266,6 +267,7 @@ err_put_module:
    err:
    return NOTIFY_OK;
    }
    +#endif /* CONFIG_CRYPTO_MANAGER_TESTS */

    static int cryptomgr_notify(struct notifier_block *this, unsigned long msg,
    void *data)
    @@ -273,8 +275,10 @@ static int cryptomgr_notify(struct notif
    switch (msg) {
    case CRYPTO_MSG_ALG_REQUEST:
    return cryptomgr_schedule_probe(data);
    +#ifdef CONFIG_CRYPTO_MANAGER_TESTS
    case CRYPTO_MSG_ALG_REGISTER:
    return cryptomgr_schedule_test(data);
    +#endif
    }

    return NOTIFY_DONE;
    --- a/crypto/testmgr.c
    +++ b/crypto/testmgr.c
    @@ -22,6 +22,17 @@
    #include <crypto/rng.h>

    #include "internal.h"
    +
    +#ifndef CONFIG_CRYPTO_MANAGER_TESTS
    +
    +/* a perfect nop */
    +int alg_test(const char *driver, const char *alg, u32 type, u32 mask)
    +{
    + return 0;
    +}
    +
    +#else
    +
    #include "testmgr.h"

    /*
    @@ -2530,4 +2541,7 @@ notest:
    non_fips_alg:
    return -EINVAL;
    }
    +
    +#endif /* CONFIG_CRYPTO_MANAGER_TESTS */
    +
    EXPORT_SYMBOL_GPL(alg_test);



    \
     
     \ /
      Last update: 2010-08-12 02:35    [W:0.023 / U:35.356 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site