[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87o7dwmecw.fsf@nvidia.com>
Date: Mon, 8 Jan 2024 10:12:26 +0200
From: Vlad Buslov <vladbu@...dia.com>
To: Jakub Kicinski <kuba@...nel.org>
CC: Xin Long <lucien.xin@...il.com>, Tao Liu <taoliu828@....com>,
<davem@...emloft.net>, <edumazet@...gle.com>, <pabeni@...hat.com>,
<paulb@...dia.com>, <netdev@...r.kernel.org>, <simon.horman@...igine.com>,
<xiyou.wangcong@...il.com>, <pablo@...filter.org>
Subject: Re: [PATCH net] net/sched: act_ct: fix skb leak and crash on ooo frags
On Wed 03 Jan 2024 at 17:49, Jakub Kicinski <kuba@...nel.org> wrote:
> On Thu, 28 Dec 2023 16:14:57 +0800 Tao Liu wrote:
>> act_ct adds skb->users before defragmentation. If frags arrive in order,
>> the last frag's reference is reset in:
>>
>> inet_frag_reasm_prepare
>> skb_morph
>>
>> which is not straightforward.
>>
>> However when frags arrive out of order, nobody unref the last frag, and
>> all frags are leaked. The situation is even worse, as initiating packet
>> capture can lead to a crash[0] when skb has been cloned and shared at the
>> same time.
>>
>> Fix the issue by removing skb_get() before defragmentation. act_ct
>> returns TC_ACT_CONSUMED when defrag failed or in progress.
>
> Vlad, Xin Long, does this look good to you?
Hi, sorry for the late response. LGTM, will report tomorrow if this
triggers anything in our regression runs.
Powered by blists - more mailing lists