net/tls: Fix flipped sign in async_wait.err assignment
authorDaniel Jordan <daniel.m.jordan@oracle.com>
Wed, 27 Oct 2021 21:59:21 +0000 (17:59 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 28 Oct 2021 13:41:20 +0000 (14:41 +0100)
sk->sk_err contains a positive number, yet async_wait.err wants the
opposite.  Fix the missed sign flip, which Jakub caught by inspection.

Fixes: a42055e8d2c3 ("net/tls: Add support for async encryption of records for performance")
Suggested-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Daniel Jordan <daniel.m.jordan@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tls/tls_sw.c

index 1644f8b..1b08b87 100644 (file)
@@ -459,7 +459,7 @@ static void tls_encrypt_done(struct crypto_async_request *req, int err)
 
                /* If err is already set on socket, return the same code */
                if (sk->sk_err) {
-                       ctx->async_wait.err = sk->sk_err;
+                       ctx->async_wait.err = -sk->sk_err;
                } else {
                        ctx->async_wait.err = err;
                        tls_err_abort(sk, err);