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 ]---

Reply via email to