Re: [net v2] net/tls: fix corrupted data in recvmsg

2020-11-16 Thread Jakub Kicinski
On Tue, 17 Nov 2020 00:59:54 + Vadim Fedorenko wrote: > >>> Sorry I wasn't clear enough, should this be: > >>> > >>> if (ctx->control != control) > >>> > >>> ? Otherwise if we get a control record first and then data record > >>> the code will collapse them, which isn't correct, right? > >>>

Re: [net v2] net/tls: fix corrupted data in recvmsg

2020-11-16 Thread Vadim Fedorenko
On 17.11.2020 00:54, Jakub Kicinski wrote: On Tue, 17 Nov 2020 00:45:11 + Vadim Fedorenko wrote: On 17.11.2020 00:26, Jakub Kicinski wrote: On Sun, 15 Nov 2020 07:16:00 +0300 Vadim Fedorenko wrote: If tcp socket has more data than Encrypted Handshake Message then tls_sw_recvmsg will try

Re: [net v2] net/tls: fix corrupted data in recvmsg

2020-11-16 Thread Jakub Kicinski
On Tue, 17 Nov 2020 00:45:11 + Vadim Fedorenko wrote: > On 17.11.2020 00:26, Jakub Kicinski wrote: > > On Sun, 15 Nov 2020 07:16:00 +0300 Vadim Fedorenko wrote: > >> If tcp socket has more data than Encrypted Handshake Message then > >> tls_sw_recvmsg will try to decrypt next record instead o

Re: [net v2] net/tls: fix corrupted data in recvmsg

2020-11-16 Thread Vadim Fedorenko
On 17.11.2020 00:26, Jakub Kicinski wrote: On Sun, 15 Nov 2020 07:16:00 +0300 Vadim Fedorenko wrote: If tcp socket has more data than Encrypted Handshake Message then tls_sw_recvmsg will try to decrypt next record instead of returning full control message to userspace as mentioned in comment.

Re: [net v2] net/tls: fix corrupted data in recvmsg

2020-11-16 Thread Jakub Kicinski
On Sun, 15 Nov 2020 07:16:00 +0300 Vadim Fedorenko wrote: > If tcp socket has more data than Encrypted Handshake Message then > tls_sw_recvmsg will try to decrypt next record instead of returning > full control message to userspace as mentioned in comment. The next > message - usually Application D

[net v2] net/tls: fix corrupted data in recvmsg

2020-11-14 Thread Vadim Fedorenko
If tcp socket has more data than Encrypted Handshake Message then tls_sw_recvmsg will try to decrypt next record instead of returning full control message to userspace as mentioned in comment. The next message - usually Application Data - gets corrupted because it uses zero copy for decryption that