Re: [PATCH v5 2/2] crypto: stm32 - Support for STM32 CRYP crypto module

Corentin Labbe
2017-10-22T07:27:06Z

On Thu, Oct 19, 2017 at 05:10:30PM +0200, Fabien Dessenne wrote:
> This module registers block cipher algorithms that make use of the
> STMicroelectronics STM32 crypto "CRYP1" hardware.
> The following algorithms are supported:
> - aes: ecb, cbc, ctr
> - des: ecb, cbc
> - tdes: ecb, cbc
>
> Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com>
> ---
> drivers/crypto/stm32/Kconfig | 9 +
> drivers/crypto/stm32/Makefile | 3 +-
> drivers/crypto/stm32/stm32-cryp.c | 1172 +++++++++++++++++++++++++++++++++++++
> 3 files changed, 1183 insertions(+), 1 deletion(-)
> create mode 100644 drivers/crypto/stm32/stm32-cryp.c
>
> diff --git a/drivers/crypto/stm32/Kconfig b/drivers/crypto/stm32/Kconfig
> +static void stm32_cryp_irq_write_block(struct stm32_cryp *cryp)
> +{
> + unsigned int i, j;
> + u32 *src;
> + u8 d8[4];
> +
> + src = sg_virt(cryp->in_sg) + _walked_in;
> +
> + for (i = 0; i < cryp->hw_blocksize / sizeof(u32); i++) {
> + if (likely(cryp->total_in >= sizeof(u32))) {
> + /* Write a full u32 */
> + stm32_cryp_write(cryp, CRYP_DIN, *src);

Hello

Try also to test your driver with userspace via AF_ALG (libkcapi is a good start).
It should probably crash here.
I have do the same on my first sunxi-ss driver and you should use kmap().

Regards