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

Fabien DESSENNE fabien.dessenne at st.com
Tue Nov 7 06:40:46 PST 2017



On 22/10/17 09:26, Corentin Labbe wrote:
> 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 at 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
Hi Corentin,

Thank you for suggesting to test from userspace through the AF_ALG 
socket with libkcapi.
This increases my test coverage.

I ran the miscellaneous tests (kcapi-enc-test(large).sh + test.sh) and 
could not observe any crash.
Note that I had already fixed some 'memory crashes' while testing with 
testmgr / tcrypt while testing from the kernel.

So it looks like the proposed implementation is fine.

BR

Fabien


More information about the linux-arm-kernel mailing list