]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
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 b809f2362049abacbd2023e382f6e0908a38fd0c..97eae7271a6768c0e39694f5dbaf941c6ee3f397 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 954f451dcc571d3f5f847a48a8aca6b31b3a6981..c006b587a7db14cefdfd00fd29be9489b353f997 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));