From: Tom Rini <trini@konsulko.com>
To: Simon Glass <sjg@chromium.org>
Cc: Raymond Mao <raymond.mao@linaro.org>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
U-Boot Mailing List <u-boot@lists.denx.de>,
manish.pandey2@arm.com, Stefan Bosch <stefan_b@posteo.net>,
Mario Six <mario.six@gdsys.cc>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Michal Simek <michal.simek@amd.com>,
Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>,
Leo Yu-Chi Liang <ycliang@andestech.com>,
Andrejs Cainikovs <andrejs.cainikovs@toradex.com>,
Marek Vasut <marek.vasut+renesas@mailbox.org>,
Sean Anderson <seanga2@gmail.com>,
Jesse Taube <mr.bossman075@gmail.com>, Bryan Brattlof <bb@ti.com>,
"Leon M. Busch-George" <leon@georgemail.eu>,
Sergei Antonov <saproj@gmail.com>, Ilya Lukin <4.shket@gmail.com>,
Igor Opaniuk <igor.opaniuk@gmail.com>,
Heinrich Schuchardt <xypron.glpk@gmx.de>,
Bin Meng <bmeng@tinylab.org>,
Alper Nebi Yasak <alpernebiyasak@gmail.com>,
AKASHI Takahiro <akashi.tkhro@gmail.com>,
Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>,
Alexander Gendin <agendin@matrox.com>,
Oleksandr Suvorov <oleksandr.suvorov@foundries.io>,
Eddie James <eajames@linux.ibm.com>
Subject: Re: [PATCH v4 08/29] hash: integrate hash on mbedtls
Date: Fri, 19 Jul 2024 09:25:40 -0600 [thread overview]
Message-ID: <20240719152540.GB561963@bill-the-cat> (raw)
In-Reply-To: <CAFLszTg+Nx43kB2rMYTyHS36mKjkQc643p2Gd8Dax5ivwOtokw@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2512 bytes --]
On Fri, Jul 19, 2024 at 04:05:09PM +0100, Simon Glass wrote:
> Hi Raymond,
>
> On Thu, 18 Jul 2024 at 17:46, Raymond Mao <raymond.mao@linaro.org> wrote:
> >
> > Hi Simon,
> >
> > On Fri, 5 Jul 2024 at 04:36, Simon Glass <sjg@chromium.org> wrote:
> >>
> >> Hi,
> >>
> >> On Wed, Jul 3, 2024, 09:56 Ilias Apalodimas <ilias.apalodimas@linaro.org> wrote:
> >> >
> >> > Hi Raymond
> >> >
> >> > On Tue, 2 Jul 2024 at 21:27, Raymond Mao <raymond.mao@linaro.org> wrote:
> >> > >
> >> > > Integrate common/hash.c on the hash shim layer so that hash APIs
> >> > > from mbedtls can be leveraged by boot/image and efi_loader.
> >> > >
> >> > > Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
> >> > > ---
> >> > > Changes in v2
> >> > > - Use the original head files instead of creating new ones.
> >> > > Changes in v3
> >> > > - Add handle checkers for malloc.
> >> > > Changes in v4
> >> > > - None.
> >> > >
> >> > > common/hash.c | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++
> >> > > 1 file changed, 143 insertions(+)
> >> > >
> >> > > diff --git a/common/hash.c b/common/hash.c
> >> > > index ac63803fed9..96caf074374 100644
> >> > > --- a/common/hash.c
> >> > > +++ b/common/hash.c
> >> > > @@ -35,6 +35,141 @@
> >> > > #include <u-boot/sha512.h>
> >> > > #include <u-boot/md5.h>
> >> > >
> >> > > +#if CONFIG_IS_ENABLED(MBEDTLS_LIB_CRYPTO)
> >> > > +
> >> > > +static int hash_init_sha1(struct hash_algo *algo, void **ctxp)
> >> > > +{
> >> > > + int ret;
> >> > > + mbedtls_sha1_context *ctx = malloc(sizeof(mbedtls_sha1_context));
> >>
> >>
> >> Why do we need allocation here? We should avoid it where possible.
> >>
> > The API "hash_init_sha1(struct hash_algo *algo, void **ctxp)" is passing a pointer
> > address and expecting to get the context from the pointer, it is reasonable to do the
> > allocation.
> > On top of that, this patch doesn't make changes on this API itself, but just adapted
> > it to MbedTLS stacks, thus you can see the allocation is needed by the original API
> > as well.
>
> Oh dear., I see Now I am looking at the code. It is full of #ifdefs
> for different cases.
>
> The whole thing needs a bit of a rationalisation before adding another case.
If you're referring too the hash_algo struct, I'm not sure we can do
something different that doesn't in turn increase size globally. And
long term some of this may be able to go away if we can remove
non-mbedTLS options.
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
next prev parent reply other threads:[~2024-07-19 15:25 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-02 18:22 [PATCH v4 00/29] Integrate MbedTLS v3.6 LTS with U-Boot Raymond Mao
2024-07-02 18:22 ` [PATCH v4 01/29] CI: Exclude MbedTLS subtree for CONFIG checks Raymond Mao
2024-07-02 18:22 ` [PATCH v4 02/29] mbedtls: Add script to update MbedTLS subtree Raymond Mao
2024-07-02 20:56 ` Tom Rini
2024-07-03 7:16 ` Jerome Forissier
2024-07-03 14:36 ` Raymond Mao
2024-07-03 14:35 ` Raymond Mao
2024-07-02 18:22 ` [PATCH v4 03/29] mbedtls: add mbedtls into the build system Raymond Mao
2024-07-02 18:22 ` [PATCH v4 04/29] lib: Adapt digest header files to MbedTLS Raymond Mao
2024-07-02 22:48 ` Tom Rini
2024-07-03 0:02 ` Raymond Mao
2024-07-03 0:15 ` Tom Rini
2024-07-02 18:22 ` [PATCH v4 05/29] md5: Remove md5 non-watchdog API Raymond Mao
2024-07-02 18:22 ` [PATCH v4 06/29] sha1: Remove sha1 " Raymond Mao
2024-07-03 7:39 ` Ilias Apalodimas
2024-07-02 18:22 ` [PATCH v4 07/29] mbedtls: add digest shim layer for MbedTLS Raymond Mao
2024-07-26 10:18 ` Ilias Apalodimas
2024-07-26 14:01 ` Tom Rini
2024-07-26 14:29 ` Raymond Mao
2024-07-02 18:22 ` [PATCH v4 08/29] hash: integrate hash on mbedtls Raymond Mao
2024-07-03 8:56 ` Ilias Apalodimas
2024-07-05 8:35 ` Simon Glass
2024-07-18 16:45 ` Raymond Mao
2024-07-19 15:05 ` Simon Glass
2024-07-19 15:25 ` Tom Rini [this message]
2024-07-20 12:36 ` Simon Glass
2024-07-20 17:13 ` Tom Rini
2024-07-21 10:08 ` Simon Glass
2024-07-22 14:21 ` Raymond Mao
2024-07-22 14:35 ` Raymond Mao
2024-07-18 16:49 ` Raymond Mao
2024-07-02 18:22 ` [PATCH v4 09/29] makefile: add mbedtls include directories Raymond Mao
2024-07-03 11:34 ` Ilias Apalodimas
2024-07-18 20:01 ` Raymond Mao
2024-07-18 20:12 ` Raymond Mao
2024-07-23 7:44 ` Ilias Apalodimas
2024-07-23 17:05 ` Raymond Mao
2024-07-02 18:22 ` [PATCH v4 10/29] mbedtls/external: support Microsoft Authentication Code Raymond Mao
2024-07-02 18:22 ` [PATCH v4 11/29] mbedtls/external: support PKCS9 Authenticate Attributes Raymond Mao
2024-07-02 18:22 ` [PATCH v4 12/29] mbedtls/external: support decoding multiple signer's cert Raymond Mao
2024-07-02 18:22 ` [PATCH v4 13/29] mbedtls/external: update MbedTLS PKCS7 test suites Raymond Mao
2024-07-02 18:22 ` [PATCH v4 14/29] public_key: move common functions to public key helper Raymond Mao
2024-07-03 11:31 ` Ilias Apalodimas
2024-07-02 18:22 ` [PATCH v4 15/29] x509: move common functions to x509 helper Raymond Mao
2024-07-03 9:36 ` Ilias Apalodimas
2024-07-02 18:22 ` [PATCH v4 16/29] pkcs7: move common functions to PKCS7 helper Raymond Mao
2024-07-03 9:33 ` Ilias Apalodimas
2024-07-02 18:22 ` [PATCH v4 17/29] mbedtls: add public key porting layer Raymond Mao
2024-07-03 11:46 ` Ilias Apalodimas
2024-07-18 20:39 ` Raymond Mao
2024-07-02 18:22 ` [PATCH v4 18/29] lib/crypto: Adapt public_key header with MbedTLS Raymond Mao
2024-07-29 13:28 ` Ilias Apalodimas
2024-07-02 18:22 ` [PATCH v4 19/29] mbedtls: add X509 cert parser porting layer Raymond Mao
2024-07-02 18:22 ` [PATCH v4 20/29] lib/crypto: Adapt x509_cert_parser to MbedTLS Raymond Mao
2024-07-29 13:19 ` Ilias Apalodimas
2024-07-29 13:55 ` Raymond Mao
2024-07-02 18:22 ` [PATCH v4 21/29] mbedtls: add PKCS7 parser porting layer Raymond Mao
2024-07-02 18:22 ` [PATCH v4 22/29] lib/crypto: Adapt PKCS7 parser to MbedTLS Raymond Mao
2024-07-02 18:22 ` [PATCH v4 23/29] mbedtls: add MSCode parser porting layer Raymond Mao
2024-07-26 10:09 ` Ilias Apalodimas
2024-07-26 14:04 ` Raymond Mao
2024-07-02 18:23 ` [PATCH v4 24/29] lib/crypto: Adapt mscode_parser to MbedTLS Raymond Mao
2024-07-30 8:03 ` Ilias Apalodimas
2024-07-30 14:07 ` Raymond Mao
2024-07-02 18:23 ` [PATCH v4 25/29] mbedtls: add RSA helper layer on MbedTLS Raymond Mao
2024-07-30 8:04 ` Ilias Apalodimas
2024-07-30 14:05 ` Raymond Mao
2024-07-02 18:23 ` [PATCH v4 26/29] lib/rypto: Adapt rsa_helper to MbedTLS Raymond Mao
2024-07-23 9:14 ` Ilias Apalodimas
2024-07-02 18:23 ` [PATCH v4 27/29] asn1_decoder: add build options for ASN1 decoder Raymond Mao
2024-07-02 18:23 ` [PATCH v4 28/29] test: Remove ASN1 library test Raymond Mao
2024-07-02 18:23 ` [PATCH v4 29/29] configs: enable MbedTLS as default setting Raymond Mao
2024-07-03 11:56 ` Ilias Apalodimas
2024-07-03 1:25 ` [PATCH v4 00/29] Integrate MbedTLS v3.6 LTS with U-Boot Tom Rini
2024-07-23 19:24 ` Raymond Mao
2024-07-23 20:45 ` Tom Rini
2024-07-24 14:36 ` Simon Glass
2024-07-24 14:34 ` Raymond Mao
2024-07-24 14:37 ` Simon Glass
2024-07-24 22:42 ` Tom Rini
2024-07-25 13:36 ` Raymond Mao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240719152540.GB561963@bill-the-cat \
--to=trini@konsulko.com \
--cc=4.shket@gmail.com \
--cc=abdellatif.elkhlifi@arm.com \
--cc=agendin@matrox.com \
--cc=akashi.tkhro@gmail.com \
--cc=alpernebiyasak@gmail.com \
--cc=andrejs.cainikovs@toradex.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=bb@ti.com \
--cc=bmeng@tinylab.org \
--cc=eajames@linux.ibm.com \
--cc=igor.opaniuk@gmail.com \
--cc=ilias.apalodimas@linaro.org \
--cc=leon@georgemail.eu \
--cc=manish.pandey2@arm.com \
--cc=marek.vasut+renesas@mailbox.org \
--cc=mario.six@gdsys.cc \
--cc=michal.simek@amd.com \
--cc=mr.bossman075@gmail.com \
--cc=oleksandr.suvorov@foundries.io \
--cc=raymond.mao@linaro.org \
--cc=saproj@gmail.com \
--cc=seanga2@gmail.com \
--cc=sjg@chromium.org \
--cc=stefan_b@posteo.net \
--cc=tuomas.tynkkynen@iki.fi \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
--cc=ycliang@andestech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.