]> git.baikalelectronics.ru Git - kernel.git/commit
tls: splice_read: fix record type check
authorJakub Kicinski <kuba@kernel.org>
Wed, 24 Nov 2021 23:25:52 +0000 (15:25 -0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 26 Nov 2021 03:28:16 +0000 (19:28 -0800)
commit99338e1183bd452831397d2a90d2415077017f45
treecd8fa7b3139402e3da17b156712a4304f15d3667
parent125b7e9328d8924a0e4579c41f0893fb5cc0737e
tls: splice_read: fix record type check

We don't support splicing control records. TLS 1.3 changes moved
the record type check into the decrypt if(). The skb may already
be decrypted and still be an alert.

Note that decrypt_skb_update() is idempotent and updates ctx->decrypted
so the if() is pointless.

Reorder the check for decryption errors with the content type check
while touching them. This part is not really a bug, because if
decryption failed in TLS 1.3 content type will be DATA, and for
TLS 1.2 it will be correct. Nevertheless its strange to touch output
before checking if the function has failed.

Fixes: e703a66e4215 ("net: tls: Refactor control message handling on recv")
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/tls/tls_sw.c