
Hi Raymond
On Tue, 2 Jul 2024 at 21:29, Raymond Mao raymond.mao@linaro.org wrote:
Move public_key_free and public_key_signature_free as helper functions that can be shared by legacy crypto lib and MbedTLS implementation.
Signed-off-by: Raymond Mao raymond.mao@linaro.org
Changes in v4
- Initial patch.
lib/crypto/Makefile | 4 +++- lib/crypto/public_key.c | 31 ------------------------- lib/crypto/public_key_helper.c | 42 ++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 32 deletions(-) create mode 100644 lib/crypto/public_key_helper.c
diff --git a/lib/crypto/Makefile b/lib/crypto/Makefile index bec1bc95a65..4ad1849040d 100644 --- a/lib/crypto/Makefile +++ b/lib/crypto/Makefile @@ -7,7 +7,9 @@ obj-$(CONFIG_$(SPL_)ASYMMETRIC_KEY_TYPE) += asymmetric_keys.o
asymmetric_keys-y := asymmetric_type.o
-obj-$(CONFIG_$(SPL_)ASYMMETRIC_PUBLIC_KEY_SUBTYPE) += public_key.o +obj-$(CONFIG_$(SPL_)ASYMMETRIC_PUBLIC_KEY_SUBTYPE) += \
public_key_helper.o \
public_key.o
# # RSA public key parser diff --git a/lib/crypto/public_key.c b/lib/crypto/public_key.c index 6efe951c057..408742907f1 100644 --- a/lib/crypto/public_key.c +++ b/lib/crypto/public_key.c @@ -51,38 +51,7 @@ static void public_key_describe(const struct key *asymmetric_key, } #endif
-/*
- Destroy a public key algorithm key.
- */
-void public_key_free(struct public_key *key) -{
if (key) {
kfree(key->key);
kfree(key->params);
kfree(key);
}
-} -EXPORT_SYMBOL_GPL(public_key_free);
#ifdef __UBOOT__ -/*
- from <linux>/crypto/asymmetric_keys/signature.c
- Destroy a public key signature.
- */
-void public_key_signature_free(struct public_key_signature *sig) -{
int i;
if (sig) {
for (i = 0; i < ARRAY_SIZE(sig->auth_ids); i++)
free(sig->auth_ids[i]);
free(sig->s);
free(sig->digest);
free(sig);
}
-} -EXPORT_SYMBOL_GPL(public_key_signature_free);
/**
- public_key_verify_signature - Verify a signature using a public key.
diff --git a/lib/crypto/public_key_helper.c b/lib/crypto/public_key_helper.c new file mode 100644 index 00000000000..4cb21edddf3 --- /dev/null +++ b/lib/crypto/public_key_helper.c @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: GPL-2.0+ +/*
- X509 helper functions
- Copyright (c) 2012 Red Hat, Inc. All Rights Reserved.
- Written by David Howells (dhowells@redhat.com)
- Copyright (c) 2024 Linaro Limited
- Author: Raymond Mao raymond.mao@linaro.org
Similar comments here, the patch is ok, just remove the copyright and author
- */
+#include <linux/compat.h> +#include <crypto/public_key.h>
+/*
- Destroy a public key algorithm key.
- */
+void public_key_free(struct public_key *key) +{
if (key) {
kfree(key->key);
kfree(key->params);
kfree(key);
}
+}
+/*
- from <linux>/crypto/asymmetric_keys/signature.c
- Destroy a public key signature.
- */
+void public_key_signature_free(struct public_key_signature *sig) +{
int i;
if (sig) {
for (i = 0; i < ARRAY_SIZE(sig->auth_ids); i++)
kfree(sig->auth_ids[i]);
kfree(sig->s);
kfree(sig->digest);
kfree(sig);
}
+}
2.25.1
With the above fixed Reviewed-by: Ilias Apalodimas ilias.apalodimas@linaro.org