diff options
| author | 2026-05-25 12:51:16 -0400 | |
|---|---|---|
| committer | 2026-05-28 13:35:31 +0200 | |
| commit | 9015985b5eb1a90eb86caf5bce1dfcf1aa38f8ad (patch) | |
| tree | b6fdbe27a929c7497f61f3b9bd0ae85c2b709d0a /drivers/block/rnull/ssh:/git@git.zx2c4.com/git: | |
| parent | net/handshake: Use spin_lock_bh for hn_lock (diff) | |
nvme-tcp: store negative errno in queue->tls_err
nvme_tcp_tls_done() assigns queue->tls_err in three branches. The
ENOKEY lookup failure and the EOPNOTSUPP initializer both store
negative errnos. The third branch, reached when the handshake
layer reports a non-zero status, stores -status.
The handshake layer delivers status to the consumer callback as a
negative errno; the other in-tree consumers --
xs_tls_handshake_done() and the nvmet target callback -- treat
their status argument that way. The extra negation in
nvme_tcp_tls_done() flips the sign, leaving tls_err as a positive
value (for instance, +EIO), which nvme_tcp_start_tls() then
returns to its caller.
Drop the extra negation so queue->tls_err uniformly carries a
negative errno on failure.
Fixes: be8e82caa685 ("nvme-tcp: enable TLS handshake upcall")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Hannes Reinecke <hare@kernel.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Link: https://patch.msgid.link/20260525-handshake-file-pin-v3-2-66c616906ead@oracle.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers/block/rnull/ssh:/git@git.zx2c4.com/git:')
0 files changed, 0 insertions, 0 deletions
