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@xxxxxx> > --- > 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