diff options
author | Jakub Kicinski <kuba@kernel.org> | 2022-08-15 17:23:58 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-08-17 10:24:00 +0100 |
commit | 849f16bbfb686cf75e67c536d196027fa8bfc803 (patch) | |
tree | 98212abda746a9872c28fea516c0c8c3b85bccb9 /net | |
parent | de64b6b6fb6f369840d171b7c5a9baf31b8b2630 (diff) | |
download | lwn-849f16bbfb686cf75e67c536d196027fa8bfc803.tar.gz lwn-849f16bbfb686cf75e67c536d196027fa8bfc803.zip |
tls: rx: react to strparser initialization errors
Even though the normal strparser's init function has a return
value we got away with ignoring errors until now, as it only
validates the parameters and we were passing correct parameters.
tls_strp can fail to init on memory allocation errors, which
syzbot duly induced and reported.
Reported-by: syzbot+abd45eb849b05194b1b6@syzkaller.appspotmail.com
Fixes: 84c61fe1a75b ("tls: rx: do not use the standard strparser")
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/tls/tls_sw.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c index f76119f62f1b..fe27241cd13f 100644 --- a/net/tls/tls_sw.c +++ b/net/tls/tls_sw.c @@ -2702,7 +2702,9 @@ int tls_set_sw_offload(struct sock *sk, struct tls_context *ctx, int tx) crypto_info->version != TLS_1_3_VERSION && !!(tfm->__crt_alg->cra_flags & CRYPTO_ALG_ASYNC); - tls_strp_init(&sw_ctx_rx->strp, sk); + rc = tls_strp_init(&sw_ctx_rx->strp, sk); + if (rc) + goto free_aead; } goto out; |