Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- crypto/rsa.c | 9 +++++++++ include/rsa.h | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/crypto/rsa.c b/crypto/rsa.c index 4e2d463b54..2eeb9984b1 100644 --- a/crypto/rsa.c +++ b/crypto/rsa.c @@ -446,6 +446,15 @@ void rsa_key_free(struct rsa_public_key *key) static LIST_HEAD(rsa_keys); +const struct rsa_public_key *rsa_key_next(const struct rsa_public_key *prev) +{ + prev = list_prepare_entry(prev, &rsa_keys, list); + list_for_each_entry_continue(prev, &rsa_keys, list) + return prev; + + return NULL; +} + const struct rsa_public_key *rsa_get_key(const char *name) { const struct rsa_public_key *key; diff --git a/include/rsa.h b/include/rsa.h index 4ef16ea5a8..650fb234f2 100644 --- a/include/rsa.h +++ b/include/rsa.h @@ -55,4 +55,8 @@ struct rsa_public_key *rsa_of_read_key(struct device_node *node); void rsa_key_free(struct rsa_public_key *key); const struct rsa_public_key *rsa_get_key(const char *name); +const struct rsa_public_key *rsa_key_next(const struct rsa_public_key *prev); + +#define for_each_rsa_key(key) \ + for (key = rsa_key_next(NULL); key; key = rsa_key_next(key)) #endif -- 2.30.2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox