kdf108_init() takes over 250 ms

From: Paul Menzel
Date: Tue Aug 23 2022 - 12:33:55 EST


Dear Stephan,


On the Dell XPS 13 9370 with Debian sid/unstable, I noticed with Linux 5.18.16, that `crypto_kdf108_init()` takes 263 ms to run even with disabled self-tests:

```
[ 0.000000] Linux version 5.18.0-4-amd64 (debian-kernel@xxxxxxxxxxxxxxxx) (gcc-11 (Debian 11.3.0-5) 11.3.0, GNU ld (GNU Binutils for Debian) 2.38.90.20220713) #1 SMP PREEMPT_DYNAMIC Debian 5.18.16-1 (2022-08-10)
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-5.18.0-4-amd64 root=UUID=56f398e0-1e25-4fda-aa9f-611dece4b333 ro quiet module_blacklist=psmouse initcall_debug log_buf_len=4M cryptomgr.notests
[…]
[ 0.000000] DMI: Dell Inc. XPS 13 9370/0RMYH9, BIOS 1.21.0 07/06/2022
[…]
[ 0.272123] calling x509_key_init+0x0/0x11 @ 1
[ 0.272125] Asymmetric key parser 'x509' registered
[ 0.272126] initcall x509_key_init+0x0/0x11 returned 0 after 1 usecs
[ 0.272127] calling crypto_kdf108_init+0x0/0x149 @ 1
[ 0.530787] Freeing initrd memory: 39332K
[ 0.534667] alg: self-tests disabled
[ 0.534701] alg: self-tests for CTR-KDF (hmac(sha256)) passed
[ 0.534703] initcall crypto_kdf108_init+0x0/0x149 returned 0 after 262573 usecs
[ 0.534708] calling blkdev_init+0x0/0x20 @ 1
[ 0.534716] initcall blkdev_init+0x0/0x20 returned 0 after 5 usecs
[ 0.534718] calling proc_genhd_init+0x0/0x46 @ 1
[ 0.534723] initcall proc_genhd_init+0x0/0x46 returned 0 after 3 usecs
```

With self-tests enabled it’s only less than a millisecond longer.

```
[ 0.282389] calling crypto_kdf108_init+0x0/0x149 @ 1
[ 0.541096] Freeing initrd memory: 39332K
[ 0.545674] alg: self-tests for CTR-KDF (hmac(sha256)) passed
[ 0.545676] initcall crypto_kdf108_init+0x0/0x149 returned 0 after 263284 usecs
```


Kind regards,

Paul