diff options
Diffstat (limited to 'net/tls/tls_device.c')
| -rw-r--r-- | net/tls/tls_device.c | 8 | 
1 files changed, 8 insertions, 0 deletions
| diff --git a/net/tls/tls_device.c b/net/tls/tls_device.c index 1f9cf57d9754..397990407ed6 100644 --- a/net/tls/tls_device.c +++ b/net/tls/tls_device.c @@ -742,6 +742,11 @@ int tls_set_device_offload(struct sock *sk, struct tls_context *ctx)  	}  	crypto_info = &ctx->crypto_send.info; +	if (crypto_info->version != TLS_1_2_VERSION) { +		rc = -EOPNOTSUPP; +		goto free_offload_ctx; +	} +  	switch (crypto_info->cipher_type) {  	case TLS_CIPHER_AES_GCM_128:  		nonce_size = TLS_CIPHER_AES_GCM_128_IV_SIZE; @@ -876,6 +881,9 @@ int tls_set_device_offload_rx(struct sock *sk, struct tls_context *ctx)  	struct net_device *netdev;  	int rc = 0; +	if (ctx->crypto_recv.info.version != TLS_1_2_VERSION) +		return -EOPNOTSUPP; +  	/* We support starting offload on multiple sockets  	 * concurrently, so we only need a read lock here.  	 * This lock must precede get_netdev_for_sock to prevent races between | 
