net/tls: add missing prot info init
authorJakub Kicinski <jakub.kicinski@netronome.com>
Tue, 9 Jul 2019 02:53:15 +0000 (19:53 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 9 Jul 2019 03:21:09 +0000 (20:21 -0700)
Turns out TLS_TX in HW offload mode does not initialize tls_prot_info.
Since commit 9cd81988cce1 ("net/tls: use version from prot") we actually
use this field on the datapath.  Luckily we always compare it to TLS 1.3,
and assume 1.2 otherwise. So since zero is not equal to 1.3, everything
worked fine.

Fixes: 9cd81988cce1 ("net/tls: use version from prot")
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tls/tls_device.c

index 77fa3b5f2b490e1a85bb375e5ddd184ac3d03d25..7c0b2b778703f7080c28d4919084390d4da05e7c 100644 (file)
@@ -883,6 +883,8 @@ int tls_set_device_offload(struct sock *sk, struct tls_context *ctx)
                goto free_offload_ctx;
        }
 
+       prot->version = crypto_info->version;
+       prot->cipher_type = crypto_info->cipher_type;
        prot->prepend_size = TLS_HEADER_SIZE + nonce_size;
        prot->tag_size = tag_size;
        prot->overhead_size = prot->prepend_size + prot->tag_size;