All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tariq Toukan <ttoukan.linux@gmail.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com,
	borisp@nvidia.com, john.fastabend@gmail.com, maximmi@nvidia.com,
	tariqt@nvidia.com, vfedorenko@novek.ru,
	Ran Rozenstein <ranro@nvidia.com>,
	"gal@nvidia.com" <gal@nvidia.com>,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH net-next v3 7/7] tls: rx: do not use the standard strparser
Date: Mon, 8 Aug 2022 08:24:05 +0300	[thread overview]
Message-ID: <1513fb1a-e196-bc2c-cdb8-34f962282ea2@gmail.com> (raw)
In-Reply-To: <5696e2f2-1a0d-7da9-700b-d665045c79d9@gmail.com>



On 8/7/2022 9:01 AM, Tariq Toukan wrote:
> 
> 
> On 8/4/2022 6:59 PM, Jakub Kicinski wrote:
>> On Thu, 4 Aug 2022 11:05:18 +0300 Tariq Toukan wrote:
>>>>        trace_tls_device_decrypted(sk, tcp_sk(sk)->copied_seq - 
>>>> rxm->full_len,
>>>
>>> Now we see a different trace:
>>>
>>> ------------[ cut here ]------------
>>> WARNING: CPU: 4 PID: 45887 at net/tls/tls_strp.c:53
>>
>> OK, if you find another I promise I'll try to hassle a machine with
>> offload from somewhere... here's the fix for the new one:
>>
>> --->8----------------
>> tls: rx: device: don't try to copy too much on detach
>>
>> Another device offload bug, we use the length of the output
>> skb as an indication of how much data to copy. But that skb
>> is sized to offset + record length, and we start from offset.
>> So we end up double-counting the offset which leads to
>> skb_copy_bits() returning -EFAULT.
>>
>> Reported-by: Tariq Toukan <tariqt@nvidia.com>
>> Fixes: 84c61fe1a75b ("tls: rx: do not use the standard strparser")
>> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
>> ---
>>   net/tls/tls_strp.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/net/tls/tls_strp.c b/net/tls/tls_strp.c
>> index f0b7c9122fba..9b79e334dbd9 100644
>> --- a/net/tls/tls_strp.c
>> +++ b/net/tls/tls_strp.c
>> @@ -41,7 +41,7 @@ static struct sk_buff *tls_strp_msg_make_copy(struct 
>> tls_strparser *strp)
>>       struct sk_buff *skb;
>>       int i, err, offset;
>> -    skb = alloc_skb_with_frags(0, strp->anchor->len, TLS_PAGE_ORDER,
>> +    skb = alloc_skb_with_frags(0, strp->stm.full_len, TLS_PAGE_ORDER,
>>                      &err, strp->sk->sk_allocation);
>>       if (!skb)
>>           return NULL;
> 
> Hi Jakub,
> Thanks for the patch.
> We're testing it and I'll update.

Trace is gone. But we got TlsDecryptError counter increasing by 2.

  reply	other threads:[~2022-08-08  5:24 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-22 23:50 [PATCH net-next v3 0/7] tls: rx: decrypt from the TCP queue Jakub Kicinski
2022-07-22 23:50 ` [PATCH net-next v3 1/7] tls: rx: wrap recv_pkt accesses in helpers Jakub Kicinski
2022-07-22 23:50 ` [PATCH net-next v3 2/7] tls: rx: factor SW handling out of tls_rx_one_record() Jakub Kicinski
2022-07-22 23:50 ` [PATCH net-next v3 3/7] tls: rx: don't free the output in case of zero-copy Jakub Kicinski
2022-07-22 23:50 ` [PATCH net-next v3 4/7] tls: rx: device: keep the zero copy status with offload Jakub Kicinski
2022-07-22 23:50 ` [PATCH net-next v3 5/7] tcp: allow tls to decrypt directly from the tcp rcv queue Jakub Kicinski
2022-07-22 23:50 ` [PATCH net-next v3 6/7] tls: rx: device: add input CoW helper Jakub Kicinski
2022-07-22 23:50 ` [PATCH net-next v3 7/7] tls: rx: do not use the standard strparser Jakub Kicinski
2022-07-26  9:27   ` Paolo Abeni
2022-07-26 17:01     ` Jakub Kicinski
2022-07-26 17:26       ` Paolo Abeni
2022-08-02 14:54   ` Tariq Toukan
2022-08-02 15:40     ` Jakub Kicinski
2022-08-04  1:24     ` Jakub Kicinski
2022-08-04  6:13       ` Tariq Toukan
2022-08-04  8:05       ` Tariq Toukan
2022-08-04 15:35         ` Jakub Kicinski
2022-08-07  6:01           ` Tariq Toukan
2022-08-04 15:59         ` Jakub Kicinski
2022-08-07  6:01           ` Tariq Toukan
2022-08-08  5:24             ` Tariq Toukan [this message]
2022-08-08 18:24               ` Jakub Kicinski
2022-08-09  8:47                 ` Tariq Toukan
2023-03-09 15:15   ` Tariq Toukan
2023-03-09 17:54     ` Jakub Kicinski
2023-03-12 17:59       ` Tariq Toukan
2023-03-13 18:22         ` Jakub Kicinski
2023-03-15 20:26           ` Tariq Toukan
2023-03-16  1:41             ` Jakub Kicinski
2022-07-26 22:00 ` [PATCH net-next v3 0/7] tls: rx: decrypt from the TCP queue patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1513fb1a-e196-bc2c-cdb8-34f962282ea2@gmail.com \
    --to=ttoukan.linux@gmail.com \
    --cc=borisp@nvidia.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=gal@nvidia.com \
    --cc=john.fastabend@gmail.com \
    --cc=kuba@kernel.org \
    --cc=maximmi@nvidia.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=ranro@nvidia.com \
    --cc=tariqt@nvidia.com \
    --cc=vfedorenko@novek.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.