summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcelo Cerri <marcelo.cerri@canonical.com>2016-09-28 12:42:09 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2016-10-02 10:26:40 -0400
commita397ba829d7f8aff4c90af3704573a28ccd61a59 (patch)
tree624b7edddfc2f334b26478d5b9a9bbc9a73d0406
parent0cf43f509f72128196e23f5ade7e512a72152cc6 (diff)
crypto: ghash-generic - move common definitions to a new header file
Move common values and types used by ghash-generic to a new header file so drivers can directly use ghash-generic as a fallback implementation. Fixes: cc333cd68dfa ("crypto: vmx - Adding GHASH routines for VMX module") Cc: stable@vger.kernel.org Signed-off-by: Marcelo Cerri <marcelo.cerri@canonical.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--crypto/ghash-generic.c13
-rw-r--r--include/crypto/ghash.h23
2 files changed, 24 insertions, 12 deletions
diff --git a/crypto/ghash-generic.c b/crypto/ghash-generic.c
index bac70995e064..12ad3e3a84e3 100644
--- a/crypto/ghash-generic.c
+++ b/crypto/ghash-generic.c
@@ -14,24 +14,13 @@
14 14
15#include <crypto/algapi.h> 15#include <crypto/algapi.h>
16#include <crypto/gf128mul.h> 16#include <crypto/gf128mul.h>
17#include <crypto/ghash.h>
17#include <crypto/internal/hash.h> 18#include <crypto/internal/hash.h>
18#include <linux/crypto.h> 19#include <linux/crypto.h>
19#include <linux/init.h> 20#include <linux/init.h>
20#include <linux/kernel.h> 21#include <linux/kernel.h>
21#include <linux/module.h> 22#include <linux/module.h>
22 23
23#define GHASH_BLOCK_SIZE 16
24#define GHASH_DIGEST_SIZE 16
25
26struct ghash_ctx {
27 struct gf128mul_4k *gf128;
28};
29
30struct ghash_desc_ctx {
31 u8 buffer[GHASH_BLOCK_SIZE];
32 u32 bytes;
33};
34
35static int ghash_init(struct shash_desc *desc) 24static int ghash_init(struct shash_desc *desc)
36{ 25{
37 struct ghash_desc_ctx *dctx = shash_desc_ctx(desc); 26 struct ghash_desc_ctx *dctx = shash_desc_ctx(desc);
diff --git a/include/crypto/ghash.h b/include/crypto/ghash.h
new file mode 100644
index 000000000000..2a61c9bbab8f
--- /dev/null
+++ b/include/crypto/ghash.h
@@ -0,0 +1,23 @@
1/*
2 * Common values for GHASH algorithms
3 */
4
5#ifndef __CRYPTO_GHASH_H__
6#define __CRYPTO_GHASH_H__
7
8#include <linux/types.h>
9#include <crypto/gf128mul.h>
10
11#define GHASH_BLOCK_SIZE 16
12#define GHASH_DIGEST_SIZE 16
13
14struct ghash_ctx {
15 struct gf128mul_4k *gf128;
16};
17
18struct ghash_desc_ctx {
19 u8 buffer[GHASH_BLOCK_SIZE];
20 u32 bytes;
21};
22
23#endif