]> git.baikalelectronics.ru Git - kernel.git/commit
net/tls: Do not use async crypto for non-data records
authorVakul Garg <vakul.garg@nxp.com>
Mon, 11 Feb 2019 11:31:05 +0000 (11:31 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 12 Feb 2019 17:35:14 +0000 (12:35 -0500)
commit88e71268d6154d5265e434b3d9e7577a43109e62
tree89399bf32badd17d93fb7dde8d613e6003c4296f
parent3eeecf27b69cd7ef90e9a93e77fb919a09d3ebc5
net/tls: Do not use async crypto for non-data records

Addition of tls1.3 support broke tls1.2 handshake when async crypto
accelerator is used. This is because the record type for non-data
records is not propagated to user application. Also when async
decryption happens, the decryption does not stop when two different
types of records get dequeued and submitted for decryption. To address
it, we decrypt tls1.2 non-data records in synchronous way. We check
whether the record we just processed has same type as the previous one
before checking for async condition and jumping to dequeue next record.

Fixes: 516896e562436 ("net: tls: Add tls 1.3 support")
Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tls/tls_sw.c