All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steffen Klassert <steffen.klassert@secunet.com>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: linux-crypto@vger.kernel.org
Subject: [PATCH 07/16] crypto: Add userspace report for ahash type algorithms
Date: Thu, 11 Aug 2011 13:30:31 +0200	[thread overview]
Message-ID: <20110811113030.GK16877@secunet.com> (raw)
In-Reply-To: <20110811112603.GD16877@secunet.com>


Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
---
 crypto/ahash.c             |   27 +++++++++++++++++++++++++++
 include/linux/cryptouser.h |    8 ++++++++
 2 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/crypto/ahash.c b/crypto/ahash.c
index f669822..5dce6a0 100644
--- a/crypto/ahash.c
+++ b/crypto/ahash.c
@@ -21,6 +21,8 @@
 #include <linux/sched.h>
 #include <linux/slab.h>
 #include <linux/seq_file.h>
+#include <linux/cryptouser.h>
+#include <net/netlink.h>
 
 #include "internal.h"
 
@@ -397,6 +399,28 @@ static unsigned int crypto_ahash_extsize(struct crypto_alg *alg)
 	return sizeof(struct crypto_shash *);
 }
 
+static int crypto_ahash_report(struct sk_buff *skb, struct crypto_alg *alg)
+	__attribute__ ((unused));
+static int crypto_ahash_report(struct sk_buff *skb, struct crypto_alg *alg)
+{
+	struct crypto_report_ahash rahash;
+
+	snprintf(rahash.type, CRYPTO_MAX_ALG_NAME, "%s", "ahash");
+	snprintf(rahash.async, CRYPTO_MAX_ALG_NAME, "%s",
+		 alg->cra_flags & CRYPTO_ALG_ASYNC ? "yes" : "no");
+
+	rahash.blocksize = alg->cra_blocksize;
+	rahash.digestsize = __crypto_hash_alg_common(alg)->digestsize;
+
+	NLA_PUT(skb, CRYPTOCFGA_REPORT_AHASH,
+		sizeof(struct crypto_report_ahash), &rahash);
+
+	return 0;
+
+nla_put_failure:
+	return -EMSGSIZE;
+}
+
 static void crypto_ahash_show(struct seq_file *m, struct crypto_alg *alg)
 	__attribute__ ((unused));
 static void crypto_ahash_show(struct seq_file *m, struct crypto_alg *alg)
@@ -415,6 +439,9 @@ const struct crypto_type crypto_ahash_type = {
 #ifdef CONFIG_PROC_FS
 	.show = crypto_ahash_show,
 #endif
+#ifdef CONFIG_CRYPTO_USER
+	.report = crypto_ahash_report,
+#endif
 	.maskclear = ~CRYPTO_ALG_TYPE_MASK,
 	.maskset = CRYPTO_ALG_TYPE_AHASH_MASK,
 	.type = CRYPTO_ALG_TYPE_AHASH,
diff --git a/include/linux/cryptouser.h b/include/linux/cryptouser.h
index 8f2b4a1..94ffb7b 100644
--- a/include/linux/cryptouser.h
+++ b/include/linux/cryptouser.h
@@ -36,6 +36,7 @@ enum crypto_attr_type_t {
 	CRYPTOCFGA_PRIORITY_VAL,	/* __u32 */
 	CRYPTOCFGA_REPORT_LARVAL,	/* struct crypto_report_larval */
 	CRYPTOCFGA_REPORT_SHASH,	/* struct crypto_report_shash */
+	CRYPTOCFGA_REPORT_AHASH,	/* struct crypto_report_ahash */
 	__CRYPTOCFGA_MAX
 
 #define CRYPTOCFGA_MAX (__CRYPTOCFGA_MAX - 1)
@@ -69,3 +70,10 @@ struct crypto_report_shash {
 	unsigned int blocksize;
 	unsigned int digestsize;
 };
+
+struct crypto_report_ahash {
+	char type[CRYPTO_MAX_NAME];
+	char async[CRYPTO_MAX_NAME];
+	unsigned int blocksize;
+	unsigned int digestsize;
+};
-- 
1.7.0.4

  parent reply	other threads:[~2011-08-11 11:29 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-11 11:26 [PATCH 00/16] crypto user configuration api Steffen Klassert
2011-08-11 11:26 ` [PATCH 01/16] crypto: authenc - Don't multiply priorities Steffen Klassert
2011-08-15  7:19   ` Herbert Xu
2011-08-15  8:02     ` Steffen Klassert
2011-08-15  8:55       ` Herbert Xu
2011-08-15 10:08         ` Steffen Klassert
2011-08-16 12:30           ` Herbert Xu
2011-08-16 12:37             ` Steffen Klassert
2011-09-21  8:32         ` Steffen Klassert
2011-09-21 11:19           ` Herbert Xu
2011-08-11 11:27 ` [PATCH 02/16] crypto: Add a flag to identify crypto instances Steffen Klassert
2011-08-11 11:27 ` [PATCH 03/16] crypto: Add userspace configuration API Steffen Klassert
2011-08-11 11:28 ` [PATCH 04/16] crypto: Add a report function pointer to crypto_type Steffen Klassert
2011-08-11 11:29 ` [PATCH 05/16] crypto: Add userspace report for larval type algorithms Steffen Klassert
2011-08-11 11:29 ` [PATCH 06/16] crypto: Add userspace report for shash " Steffen Klassert
2011-08-11 11:30 ` Steffen Klassert [this message]
2011-08-11 11:31 ` [PATCH 08/16] crypto: Add userspace report for blkcipher " Steffen Klassert
2011-08-11 11:31 ` [PATCH 09/16] crypto: Add userspace report for ablkcipher " Steffen Klassert
2011-08-11 11:32 ` [PATCH 10/16] crypto: Add userspace report for givcipher " Steffen Klassert
2011-08-11 11:32 ` [PATCH 11/16] crypto: Add userspace report for aead " Steffen Klassert
2011-08-11 11:33 ` [PATCH 12/16] crypto: Add userspace report for nivaead " Steffen Klassert
2011-08-11 11:34 ` [PATCH 13/16] crypto: Add userspace report for pcompress " Steffen Klassert
2011-08-11 11:34 ` [PATCH 14/16] crypto: Add userspace report for rng " Steffen Klassert
2011-08-11 11:35 ` [PATCH 15/16] crypto: Add userspace report for cipher " Steffen Klassert
2011-08-11 11:35 ` [PATCH 16/16] crypto: Add userspace report for compress " Steffen Klassert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110811113030.GK16877@secunet.com \
    --to=steffen.klassert@secunet.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.