Commit 8c987166 authored by Stephan Mueller's avatar Stephan Mueller Committed by Herbert Xu

crypto: drbg - use of kernel linked list

The DRBG-style linked list to manage input data that is fed into the
cipher invocations is replaced with the kernel linked list
implementation.

The change is transparent to users of the interfaces offered by the
DRBG. Therefore, no changes to the testmgr code is needed.
Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
Signed-off-by: default avatarStephan Mueller <smueller@chronox.de>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 8fecaad7
This diff is collapsed.
...@@ -50,6 +50,7 @@ ...@@ -50,6 +50,7 @@
#include <crypto/rng.h> #include <crypto/rng.h>
#include <linux/fips.h> #include <linux/fips.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/list.h>
/* /*
* Concatenation Helper and string operation helper * Concatenation Helper and string operation helper
...@@ -64,7 +65,7 @@ ...@@ -64,7 +65,7 @@
struct drbg_string { struct drbg_string {
const unsigned char *buf; const unsigned char *buf;
size_t len; size_t len;
struct drbg_string *next; struct list_head list;
}; };
static inline void drbg_string_fill(struct drbg_string *string, static inline void drbg_string_fill(struct drbg_string *string,
...@@ -72,7 +73,7 @@ static inline void drbg_string_fill(struct drbg_string *string, ...@@ -72,7 +73,7 @@ static inline void drbg_string_fill(struct drbg_string *string,
{ {
string->buf = buf; string->buf = buf;
string->len = len; string->len = len;
string->next = NULL; INIT_LIST_HEAD(&string->list);
} }
struct drbg_state; struct drbg_state;
...@@ -97,7 +98,7 @@ struct drbg_core { ...@@ -97,7 +98,7 @@ struct drbg_core {
}; };
struct drbg_state_ops { struct drbg_state_ops {
int (*update)(struct drbg_state *drbg, struct drbg_string *seed, int (*update)(struct drbg_state *drbg, struct list_head *seed,
int reseed); int reseed);
int (*generate)(struct drbg_state *drbg, int (*generate)(struct drbg_state *drbg,
unsigned char *buf, unsigned int buflen, unsigned char *buf, unsigned int buflen,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment