Re: [BUG] crypto: ccree: driver does not handle case where cryptlen = authsize =0

Gilad Ben-Yossef
2022-03-07T12:24:25Z

On Mon, Mar 7, 2022 at 12:48 PM Corentin Labbe
<clabbe.montjoie@gmail.com> wrote:

>
> Hello
>
> I still get the warning:
> [ 433.406230] ------------[ cut here ]------------
> [ 433.406326] DMA-API: ccree e6601000.crypto: cacheline tracking EEXIST, overlapping mappings aren't supported
> [ 433.406386] WARNING: CPU: 7 PID: 31074 at /home/clabbe/linux-next/kernel/dma/debug.c:571 add_dma_entry+0x1d0/0x288
> [ 433.406434] Modules linked in:
> [ 433.406458] CPU: 7 PID: 31074 Comm: kcapi Not tainted 5.17.0-rc6-next-20220303-00130-g30042e47ee47-dirty #54
> [ 433.406473] Hardware name: Renesas Salvator-X board based on r8a77950 (DT)
> [ 433.406484] pstate: 40000005 (nZcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [ 433.406498] pc : add_dma_entry+0x1d0/0x288
> [ 433.406510] lr : add_dma_entry+0x1d0/0x288
> [ 433.406522] sp : ffff800015da3690
> [ 433.406531] x29: ffff800015da3690 x28: 0000000000000000 x27: 0000000000000000
> [ 433.406562] x26: 0000000000000000 x25: ffff80000b4c7bc0 x24: ffff80000b4c7000
> [ 433.406593] x23: 0000000000000000 x22: 00000000ffffffef x21: ffff80000a9b6000
> [ 433.406623] x20: ffff0004c0af5c00 x19: ffff80000b420000 x18: ffffffffffffffff
> [ 433.406653] x17: 6c7265766f202c54 x16: 534958454520676e x15: 000000000000022e
> [ 433.406683] x14: ffff800015da3380 x13: 00000000ffffffea x12: ffff80000b4be010
> [ 433.406713] x11: 0000000000000001 x10: 0000000000000001 x9 : ffff80000b4a6028
> [ 433.406743] x8 : c0000000ffffefff x7 : 0000000000017fe8 x6 : ffff80000b4a5fd0
> [ 433.406773] x5 : ffff0006ff795c48 x4 : 0000000000000000 x3 : 0000000000000027
> [ 433.406802] x2 : 0000000000000023 x1 : 8ca4e4fbf4b87900 x0 : 0000000000000000
> [ 433.406833] Call trace:
> [ 433.406841] add_dma_entry+0x1d0/0x288
> [ 433.406854] debug_dma_map_sg+0x150/0x398
> [ 433.406869] __dma_map_sg_attrs+0x9c/0x108
> [ 433.406889] dma_map_sg_attrs+0x10/0x28
> [ 433.406904] cc_map_sg+0x80/0x100
> [ 433.406924] cc_map_cipher_request+0x178/0x3c8
> [ 433.406939] cc_cipher_process+0x210/0xb58
> [ 433.406953] cc_cipher_encrypt+0x2c/0x38
> [ 433.406967] crypto_skcipher_encrypt+0x44/0x78
> [ 433.406986] skcipher_recvmsg+0x36c/0x420
> [ 433.407003] ____sys_recvmsg+0x90/0x280
> [ 433.407024] ___sys_recvmsg+0x88/0xd0
> [ 433.407038] __sys_recvmsg+0x6c/0xd0
> [ 433.407049] __arm64_sys_recvmsg+0x24/0x30
> [ 433.407061] invoke_syscall+0x44/0x100
> [ 433.407082] el0_svc_common.constprop.3+0x90/0x120
> [ 433.407096] do_el0_svc+0x24/0x88
> [ 433.407110] el0_svc+0x4c/0x100
> [ 433.407131] el0t_64_sync_handler+0x90/0xb8
> [ 433.407145] el0t_64_sync+0x170/0x174
> [ 433.407160] irq event stamp: 5624
> [ 433.407168] hardirqs last enabled at (5623): [<ffff80000812f6a8>] __up_console_sem+0x60/0x98
> [ 433.407191] hardirqs last disabled at (5624): [<ffff800009c9a060>] el1_dbg+0x28/0x90
> [ 433.407208] softirqs last enabled at (5570): [<ffff8000097e62f8>] lock_sock_nested+0x80/0xa0
> [ 433.407226] softirqs last disabled at (5568): [<ffff8000097e62d8>] lock_sock_nested+0x60/0xa0
> [ 433.407241] ---[ end trace 0000000000000000 ]---
> [ 433.407381] DMA-API: Mapped at:
> [ 433.407396] debug_dma_map_sg+0x16c/0x398
> [ 433.407416] __dma_map_sg_attrs+0x9c/0x108
> [ 433.407436] dma_map_sg_attrs+0x10/0x28
> [ 433.407455] cc_map_sg+0x80/0x100
> [ 433.407475] cc_map_cipher_request+0x178/0x3c8

By the way, this comes from a totally different call site than the
previous drbg.

Judging from the fact that we've never seen this error before and that
you start seeing it suddenly from different drivers on different
platforms from different call sites ...

I suspect this is caused by some recent addition or change.

Which tree are you building this from and does it have dma related
commits? may try toi bisect this?

Gilad