Hi Raymond On Tue, 2 Jul 2024 at 21:29, Raymond Mao <raymond....@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....@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 (dhowe...@redhat.com) > + * > + * Copyright (c) 2024 Linaro Limited > + * Author: Raymond Mao <raymond....@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.apalodi...@linaro.org>