Source: linux Severity: important Same as: Bug #1061262
I've been seeing this with builds since 6.7 cycle started. It seems to show up mostly for hosts with bluetooth hardware since the bluetooth module depends on ecdh. The trace indicates ecdh_generic is still loading when the test is attempted. journalctl --grep 'alg: self-tests for ecdh-nist-p256' | grep -- '-- Boot' | while read -r a b hash d; do journalctl --boot $hash | head -n 1 | grep -oE 'version [^ ]+' done | sort -u version 6.7.0-rc5+debian+tj version 6.7.1+debian+tj version 6.7.4+debian+tj version 6.8.0+debian+tj crypto algo self-tests 'alg: ecdh-nist-p256: test failed on vector 2, err=-14 -14 is "EFAULT 14 / Bad address */ and the log shows Modules linked in: ecdh_generic(+) ... where the "(+)" means module loading. This only seems to occur on hosts with Bluetooth hardware and "bluetooth" module (requires ECDH) when those modules are in the initrd.img. It feels like the self-tests are running before the module is fully loaded - in fact the tcrypt module (CONFIG_CRYPTO_TEST) isn't loaded according to "Modules linked in:" report and it isn't contained in the initrd.img so these tests seem to be occuring without it. root@t300chi:/tmp/initrd# unmkinitramfs /boot/initrd.img-6.8.0+debian+tj . root@t300chi:/tmp/initrd# ls early main root@t300chi:/tmp/initrd# ls main/usr/lib/modules/6.8.0+debian+tj/kernel/crypto/ af_alg.ko algif_skcipher.ko async_tx crc32c_generic.ko crct10dif_common.ko crct10dif_generic.ko ecc.ko ecdh_generic.ko xor.ko xts.ko root@t300chi:/tmp/initrd# ls main/usr/lib/modules/6.8.0+debian+tj/kernel/drivers/bluetooth/ btbcm.ko btintel.ko btmtk.ko btrtl.ko btusb.ko root@t300chi:/tmp/initrd# ls main/usr/lib/modules/6.8.0+debian+tj/kernel/net/bluetooth/ bluetooth.ko root@t300chi:/tmp/initrd# find . /usr/lib/modules/6.8.0+debian+tj/kernel -type f -name '*tcrypt*' /usr/lib/modules/6.8.0+debian+tj/kernel/crypto/tcrypt.ko.xz Mar 14 06:30:29 t300chi kernel: alg: ecdh-nist-p256: test failed on vector 2, err=-14 Mar 14 06:30:29 t300chi kernel: alg: self-tests for ecdh-nist-p256 using ecdh-nist-p256-generic failed (rc=-14) Mar 14 06:30:29 t300chi kernel: ------------[ cut here ]------------ Mar 14 06:30:29 t300chi kernel: alg: self-tests for ecdh-nist-p256 using ecdh-nist-p256-generic failed (rc=-14) Mar 14 06:30:29 t300chi kernel: WARNING: CPU: 0 PID: 197 at crypto/testmgr.c:5888 alg_test+0x42b/0x580 Mar 14 06:30:29 t300chi kernel: Modules linked in: ecdh_generic(+) ecc crc16 sd_mod t10_pi crc64_rocksoft crc64 crc_t10dif crct10dif_generic crct10dif_commo> Mar 14 06:30:29 t300chi kernel: CPU: 0 PID: 197 Comm: cryptomgr_test Not tainted 6.8.0+debian+tj #158 Mar 14 06:30:29 t300chi kernel: Hardware name: ASUSTeK COMPUTER INC. T300CHI/T300CHI, BIOS T300CHI.209 04/18/2019 Mar 14 06:30:29 t300chi kernel: RIP: 0010:alg_test+0x42b/0x580 Mar 14 06:30:29 t300chi kernel: Code: 89 ea 48 89 ee 4c 89 f7 e8 d2 e8 ff ff 41 89 c0 e9 36 fd ff ff 44 89 c1 48 89 ea 4c 89 e6 48 c7 c7 58 9c 2b 8a e8 b5 0> Mar 14 06:30:29 t300chi kernel: RSP: 0018:ffffa53a80627e08 EFLAGS: 00010282 Mar 14 06:30:29 t300chi kernel: RAX: 0000000000000000 RBX: 0000000000001e00 RCX: 0000000000000000 Mar 14 06:30:29 t300chi kernel: RDX: 0000000000000002 RSI: 0000000000000002 RDI: 00000000ffffffff Mar 14 06:30:29 t300chi kernel: RBP: ffff8e5241213800 R08: 0000000000000867 R09: 0000000000ffff0a Mar 14 06:30:29 t300chi kernel: R10: 0000000000000001 R11: 20726f6620737473 R12: ffff8e5241213880 Mar 14 06:30:29 t300chi kernel: R13: 0000000000000008 R14: 0000000000000078 R15: 0000000000000000 Mar 14 06:30:29 t300chi kernel: FS: 0000000000000000(0000) GS:ffff8e5357000000(0000) knlGS:0000000000000000 Mar 14 06:30:29 t300chi kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Mar 14 06:30:29 t300chi kernel: CR2: 00007f389404ee24 CR3: 000000007761c001 CR4: 00000000003706f0 Mar 14 06:30:29 t300chi kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 Mar 14 06:30:29 t300chi kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Mar 14 06:30:29 t300chi kernel: Call Trace: Mar 14 06:30:29 t300chi kernel: <TASK> Mar 14 06:30:29 t300chi kernel: ? alg_test+0x42b/0x580 Mar 14 06:30:29 t300chi kernel: ? __warn+0x7d/0x130 Mar 14 06:30:29 t300chi kernel: ? alg_test+0x42b/0x580 Mar 14 06:30:29 t300chi kernel: ? report_bug+0x18d/0x1c0 Mar 14 06:30:29 t300chi kernel: ? handle_bug+0x3c/0x70 Mar 14 06:30:29 t300chi kernel: ? exc_invalid_op+0x13/0x60 Mar 14 06:30:29 t300chi kernel: ? asm_exc_invalid_op+0x16/0x20 Mar 14 06:30:29 t300chi kernel: ? alg_test+0x42b/0x580 Mar 14 06:30:29 t300chi kernel: ? alg_test+0x42b/0x580 Mar 14 06:30:29 t300chi kernel: ? finish_task_switch.isra.0+0x9b/0x2f0 Mar 14 06:30:29 t300chi kernel: ? __schedule+0x3c7/0xb70 Mar 14 06:30:29 t300chi kernel: ? _raw_spin_unlock_irqrestore+0x1e/0x40 Mar 14 06:30:29 t300chi kernel: ? __pfx_cryptomgr_test+0x10/0x10 Mar 14 06:30:29 t300chi kernel: cryptomgr_test+0x20/0x40 Mar 14 06:30:29 t300chi kernel: kthread+0xf3/0x120 Mar 14 06:30:29 t300chi kernel: ? __pfx_kthread+0x10/0x10 Mar 14 06:30:29 t300chi kernel: ret_from_fork+0x30/0x50 Mar 14 06:30:29 t300chi kernel: ? __pfx_kthread+0x10/0x10 Mar 14 06:30:29 t300chi kernel: ret_from_fork_asm+0x1b/0x30 Mar 14 06:30:29 t300chi kernel: </TASK> Mar 14 06:30:29 t300chi kernel: ---[ end trace 0000000000000000 ]---