All of lore.kernel.org
 help / color / mirror / Atom feed
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: Sat, 20 Jul 2024 11:13:14 -0600	[thread overview]
Message-ID: <20240720171314.GF561963@bill-the-cat> (raw)
In-Reply-To: <CAFLszTihZMPK124jAVvbnm7CT1SZ8wFJq920C9vMF2vz8jmpnQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3520 bytes --]

On Sat, Jul 20, 2024 at 01:36:02PM +0100, Simon Glass wrote:
> Hi Tom,
> 
> On Fri, 19 Jul 2024 at 16:25, Tom Rini <trini@konsulko.com> wrote:
> >
> > 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.
> 
> Well, at least using the existing functions rather than writing
> entirely new ones would help.
> 
> The real culprit here is the hardware-acceleration stuff, but making
> the software side messy too is not nice. Hashing should move to a
> linker-list approach for the implementation, and probably driver model
> for the hardware acceleration.

I'm fine with looking at that, after mbedtls is merged and we're looking
at what can be removed / cleaned up. Perhaps we'll be able to shift
most/all of the hardware assisted algorithms to being handled within
mbedtls, I don't know.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

  reply	other threads:[~2024-07-20 17:13 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
2024-07-20 12:36             ` Simon Glass
2024-07-20 17:13               ` Tom Rini [this message]
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=20240720171314.GF561963@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.