[dm-devel] dm-integrity stalls with iMX6q CAAM
Horia Geanta
horia.geanta at nxp.com
Wed Oct 17 13:35:37 UTC 2018
On 9/21/2018 3:06 PM, Neil Armstrong wrote:
> Hi,
>
> I recently configured dm-crypt + dm-integrity on an iMX6q platform with CAAM Hash functions enabled using the following command lines :
>
> Linux 4.14.71
>
> cryptsetup luksFormat /dev/mmcblk1p3 --cipher aes-xts-plain64 --type luks2 --integrity hmac-sha256 --sector-size 512 --use-urandom
> cryptsetup open /dev/mmcblk1p3 root
> mkfs.ext4 -v -F /dev/mapper/root
>
> luksFormat and open finishes correctly, luksDump and status reports correct dm and luks properties.
>
> but when trying to access the /dev/mapper/root (mkfs, sha256sum or whatever), it blocks without any warning or errors reported by the kernel.
> I can see a few (~170) interrupts on the jr0 interrupt then nothing.
>
> Is there a particular issue with hmac-sha256 with the linux CAAM driver ?
>
> When disabling the CAAM hash functions or using another cipher & integrity pair, it works like a charm.
>
The issue you are seeing is most probably related to CAAM driver not
implementing correctly the crypto requests "backlogging".
See commit c0403ec0bb5a ("Revert "dm crypt: fix deadlock when async crypto
algorithm returns -EBUSY"") for a detailed description.
Historically, there have been several CAAM backlogging implementations proposed
- but all were rejected:
v1: https://patchwork.kernel.org/patch/7144701
v2: https://patchwork.kernel.org/patch/7199241
v3: https://patchwork.kernel.org/patch/7221941
v4: https://patchwork.kernel.org/patch/7230241
v5: https://patchwork.kernel.org/patch/9033121
Discussion here: https://community.nxp.com/message/1020096
mentions v2 as solving the issue.
You could try it while we find a solution that would be accepted upstream.
Hope this helps,
Horia
More information about the dm-devel
mailing list