From bebc17f8d07b61564951ec62a943428558526b2e Mon Sep 17 00:00:00 2001 From: Steffen Klassert Date: Tue, 27 Sep 2011 07:24:29 +0200 Subject: crypto: Add a report function pointer to crypto_type We add a report function pointer to struct crypto_type. This function pointer is used from the crypto userspace configuration API to report crypto algorithms to userspace. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu (cherry picked from commit b6aa63c09ba3b150a1030f9c95c7647361e7910e) Signed-off-by: Dominik Sliwa Acked-by: Marcel Ziswiler --- crypto/crypto_user.c | 5 +++++ include/crypto/algapi.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/crypto/crypto_user.c b/crypto/crypto_user.c index 513cfe7bc3ba..aa67c74ee136 100644 --- a/crypto/crypto_user.c +++ b/crypto/crypto_user.c @@ -84,6 +84,11 @@ static int crypto_report_one(struct crypto_alg *alg, NLA_PUT_U32(skb, CRYPTOCFGA_PRIORITY_VAL, alg->cra_priority); + if (alg->cra_type && alg->cra_type->report) { + if (alg->cra_type->report(skb, alg)) + goto nla_put_failure; + } + return 0; nla_put_failure: diff --git a/include/crypto/algapi.h b/include/crypto/algapi.h index 59c3e5bd2c06..ecc721def10c 100644 --- a/include/crypto/algapi.h +++ b/include/crypto/algapi.h @@ -15,6 +15,7 @@ #include #include #include +#include struct module; struct rtattr; @@ -26,6 +27,7 @@ struct crypto_type { int (*init)(struct crypto_tfm *tfm, u32 type, u32 mask); int (*init_tfm)(struct crypto_tfm *tfm); void (*show)(struct seq_file *m, struct crypto_alg *alg); + int (*report)(struct sk_buff *skb, struct crypto_alg *alg); struct crypto_alg *(*lookup)(const char *name, u32 type, u32 mask); unsigned int type; -- cgit v1.2.3