From: Jakub Kicinski <jakub.kicinski@netronome.com>
Date: Sun, 6 Oct 2019 21:09:31 -0700
Subject: net/tls: store async_capable on a single bit
Patch-mainline: v5.5-rc1
Git-commit: 5c5458ec9d631fbca29f53a944168265e18aa77a
References: bsc#1154353
Store async_capable on a single bit instead of a full integer
to save space.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
include/net/tls.h | 4 ++--
net/tls/tls_sw.c | 5 +++--
2 files changed, 5 insertions(+), 4 deletions(-)
--- a/include/net/tls.h
+++ b/include/net/tls.h
@@ -137,7 +137,7 @@ struct tls_sw_context_tx {
struct list_head tx_list;
atomic_t encrypt_pending;
int async_notify;
- int async_capable;
+ u8 async_capable:1;
#define BIT_TX_SCHEDULED 0
#define BIT_TX_CLOSING 1
@@ -153,7 +153,7 @@ struct tls_sw_context_rx {
struct sk_buff *recv_pkt;
u8 control;
- int async_capable;
+ u8 async_capable:1;
bool decrypted;
atomic_t decrypt_pending;
bool async_notify;
--- a/net/tls/tls_sw.c
+++ b/net/tls/tls_sw.c
@@ -2392,10 +2392,11 @@ int tls_set_sw_offload(struct sock *sk,
tfm = crypto_aead_tfm(sw_ctx_rx->aead_recv);
if (crypto_info->version == TLS_1_3_VERSION)
- sw_ctx_rx->async_capable = false;
+ sw_ctx_rx->async_capable = 0;
else
sw_ctx_rx->async_capable =
- tfm->__crt_alg->cra_flags & CRYPTO_ALG_ASYNC;
+ !!(tfm->__crt_alg->cra_flags &
+ CRYPTO_ALG_ASYNC);
/* Set up strparser */
memset(&cb, 0, sizeof(cb));