blktests icon indicating copy to clipboard operation
blktests copied to clipboard

blktests nvme/tcp nvme/063 failed

Open yizhanglinux opened this issue 5 months ago • 5 comments

Reproduced this issue on the latest linux-block/for-next:

# nvme_trtype=tcp ./check nvme/063
nvme/063 (tr=tcp) (Create authenticated TCP connections with secure concatenation)
    runtime  4.100s  ...
WARNING: Test did not clean up port: 0
WARNING: Test did not clean up subsystem: blktests-subsystem-1
rmdir: failed to remove '/sys/kernel/config/nvmet//subsystems/blktests-subsystem-1': Directory not empty
WARNING: Test did not clean up host: nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349
nvme/063 (tr=tcp) (Create authenticated TCP connections with secure concatenation) [failed]01fb42-9f7f-4856-b0b3-51    runtime  4.100s  ...  4.832sbusy
    --- tests/nvme/063.out	2025-07-24 02:47:56.554045860 -0400
    +++ /root/blktests/results/nodev_tr_tcp/nvme/063.out.bad	2025-07-26 10:22:47.356034665 -0400
    @@ -1,7 +1,3 @@
     Running nvme/063
     Test secure concatenation with SHA256
    -Reset controller
    -disconnected 1 controller(s)
    -Test secure concatenation with SHA384
    -disconnected 1 controller(s)
    -Test complete
    ...
    (Run 'diff -u tests/nvme/063.out /root/blktests/results/nodev_tr_tcp/nvme/063.out.bad' to see the entire diff)
WARNING: Test did not clean up subsystem: blktests-subsystem-1
rmdir: failed to remove '/sys/kernel/config/nvmet//subsystems/blktests-subsystem-1': Directory not empty
WARNING: Test did not clean up host: nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349
rmdir: failed to remove '/sys/kernel/config/nvmet//hosts/nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349': Device or resource busy

dmesg

[  447.516745] run blktests nvme/063 at 2025-07-26 10:22:42
[  448.515935] nvmet: adding nsid 1 to subsystem blktests-subsystem-1
[  448.663561] nvmet: Allow non-TLS connections while TLS1.3 is enabled
[  448.721262] nvmet_tcp: enabling port 0 (127.0.0.1:4420)
[  449.338284] nvmet: Created nvm controller 1 for subsystem blktests-subsystem-1 for NQN nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349 with DH-HMAC-CHAP.
[  449.385605] nvmet: nvmet_auth_insert_psk: ctrl 1 qid 0 failed to refresh key, error -126
[  449.394857] nvme nvme0: qid 0: authenticated with hash hmac(sha256) dhgroup ffdhe2048
[  449.404361] nvme nvme0: nvme_auth_secure_concat: qid 0 failed to insert generated key, error -126
[  449.413313] nvme nvme0: nvme_queue_auth_work: qid 0 failed to enable secure concatenation
[  449.422114] nvme nvme0: qid 0: authentication failed, error -126
[  449.433244] nvme nvme0: failed to connect queue: 0 ret=-126

yizhanglinux avatar Jul 26 '25 14:07 yizhanglinux

errno -126 is Required key not available

Which version of nvme-cli do you use? Just to ensure we look at the right component, kernel or nvme-cli.

igaw avatar Jul 28 '25 08:07 igaw

I'm using the latest nvme-cli 2.15.

# cat results/nodev_tr_tcp/nvme/063.out.bad
Running nvme/063
Test secure concatenation with SHA256
WARNING: connection failed
[root@storageqe-31 blktests]# nvme --version
nvme version 2.15 (git 2.15-2-g37f0290)
libnvme version 1.15 (git 1.15)

yizhanglinux avatar Jul 29 '25 06:07 yizhanglinux

@hreinecke do you happen to spot a problem here?

igaw avatar Jul 29 '25 07:07 igaw

Can you check if the nvme keyring is available?

cat /proc/keys | grep nvme

18b65700 I------ 1 perm 1f1f0000 0 0 keyring .nvme: empty

hreinecke avatar Aug 21 '25 11:08 hreinecke

It shows empty.

# cat /proc/keys  | grep nvme
1636fd9a I------     1 perm 1f1f0000     0     0 keyring   .nvme: empty

yizhanglinux avatar Aug 22 '25 09:08 yizhanglinux