From: Jakub Kicinski Date: Wed, 10 Apr 2019 18:04:30 +0000 (-0700) Subject: net/tls: fix the IV leaks X-Git-Tag: v4.19.44~37 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=85b9e8694f9c03d508398bdb930e7d2109d07855;p=thirdparty%2Fkernel%2Fstable.git net/tls: fix the IV leaks [ Upstream commit 5a03bc73abed6ae196c15e9950afde19d48be12c ] Commit f66de3ee2c16 ("net/tls: Split conf to rx + tx") made freeing of IV and record sequence number conditional to SW path only, but commit e8f69799810c ("net/tls: Add generic NIC offload infrastructure") also allocates that state for the device offload configuration. Remember to free it. Fixes: e8f69799810c ("net/tls: Add generic NIC offload infrastructure") Signed-off-by: Jakub Kicinski Reviewed-by: Dirk van der Merwe Reviewed-by: Simon Horman Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- diff --git a/net/tls/tls_device.c b/net/tls/tls_device.c index f4a19eac975db..fdf22cb0b3e6b 100644 --- a/net/tls/tls_device.c +++ b/net/tls/tls_device.c @@ -52,8 +52,11 @@ static DEFINE_SPINLOCK(tls_device_lock); static void tls_device_free_ctx(struct tls_context *ctx) { - if (ctx->tx_conf == TLS_HW) + if (ctx->tx_conf == TLS_HW) { kfree(tls_offload_ctx_tx(ctx)); + kfree(ctx->tx.rec_seq); + kfree(ctx->tx.iv); + } if (ctx->rx_conf == TLS_HW) kfree(tls_offload_ctx_rx(ctx));