mbox series

[v2,0/36] Move crypto_engine callback into algorithm object

Message ID ZNh94a7YYnvx0l8C@gondor.apana.org.au (mailing list archive)
Headers show
Series Move crypto_engine callback into algorithm object | expand

Message

Herbert Xu Aug. 13, 2023, 6:53 a.m. UTC
v2 fixes build failures in allwinner drivers when debugfs is enabled.

As it stands, every crypto_engine user sets up callbacks in struct
crypto_engine_ctx which is stored at the head of the tfm context.

This is error-prone because there is no guarantee for that callback
to be there at all.  In fact this is exactly what happened when the
tfm context was moved for DMA alignment.

The first part of this series eliminates the unnecessary prepare
and unprepare callbacks so that only one function remains.

Then that last callback is moved into the algorithm object.  This
is checked by using special register/unregister functions that are
specific to crypto_engine.

Cheers,

Comments

Gaurav Jain Aug. 22, 2023, 9:47 a.m. UTC | #1
Reviewed-by: Gaurav Jain <gaurav.jain@nxp.com>

> -----Original Message-----
> From: Herbert Xu <herbert@gondor.apana.org.au>
> Sent: Sunday, August 13, 2023 12:23 PM
> To: Linux Crypto Mailing List <linux-crypto@vger.kernel.org>
> Cc: Gaurav Jain <gaurav.jain@nxp.com>
> Subject: [EXT] [v2 PATCH 0/36] Move crypto_engine callback into algorithm
> object
>
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report this
> email' button
>
>
> v2 fixes build failures in allwinner drivers when debugfs is enabled.
>
> As it stands, every crypto_engine user sets up callbacks in struct
> crypto_engine_ctx which is stored at the head of the tfm context.
>
> This is error-prone because there is no guarantee for that callback to be there at
> all.  In fact this is exactly what happened when the tfm context was moved for
> DMA alignment.
>
> The first part of this series eliminates the unnecessary prepare and unprepare
> callbacks so that only one function remains.
>
> Then that last callback is moved into the algorithm object.  This is checked by
> using special register/unregister functions that are specific to crypto_engine.
>
> Cheers,
> --
> Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page:
> http://gondor.ap/
> ana.org.au%2F~herbert%2F&data=05%7C01%7Cgaurav.jain%40nxp.com%7C14
> 1e3a0f31eb40bd5a9608db9bc9fefa%7C686ea1d3bc2b4c6fa92cd99c5c301635%
> 7C0%7C0%7C638275064121607795%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiM
> C4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7
> C%7C%7C&sdata=iacbgdbHaAIafT5imURgLPXUFTf0YEzmkbPv8zdPSk4%3D&rese
> rved=0
> PGP Key:
> http://gondor.ap/
> ana.org.au%2F~herbert%2Fpubkey.txt&data=05%7C01%7Cgaurav.jain%40nxp.c
> om%7C141e3a0f31eb40bd5a9608db9bc9fefa%7C686ea1d3bc2b4c6fa92cd99c5
> c301635%7C0%7C0%7C638275064121607795%7CUnknown%7CTWFpbGZsb3d8
> eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
> 7C3000%7C%7C%7C&sdata=7vaeBPSY6XELp6R7Bj3JZ%2B%2B0xemNpUENHPzg
> BvSwlw0%3D&reserved=0