net/tls: store async_capable on a single bit
authorJakub Kicinski <jakub.kicinski@netronome.com>
Mon, 7 Oct 2019 04:09:31 +0000 (21:09 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 7 Oct 2019 13:58:27 +0000 (09:58 -0400)
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>
include/net/tls.h
net/tls/tls_sw.c

index b809f23..97eae72 100644 (file)
@@ -136,7 +136,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
@@ -152,7 +152,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;
index 954f451..c006b58 100644 (file)
@@ -2391,10 +2391,11 @@ int tls_set_sw_offload(struct sock *sk, struct tls_context *ctx, int tx)
                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));