[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL+tcoCTv_T8Q-sBFwR3+7aFdo3XVYS0hKaf5-2CpxRgDU-V0w@mail.gmail.com>
Date: Wed, 14 Aug 2024 16:38:59 +0800
From: Jason Xing <kerneljasonxing@...il.com>
To: Lorenzo Colitti <lorenzo@...gle.com>
Cc: Xueming Feng <kuro@...oa.me>, "David S . Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
Eric Dumazet <edumazet@...gle.com>, Neal Cardwell <ncardwell@...gle.com>,
Yuchung Cheng <ycheng@...gle.com>, Soheil Hassas Yeganeh <soheil@...gle.com>, David Ahern <dsahern@...nel.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH net,v2] tcp: fix forever orphan socket caused by tcp_abort
On Wed, Aug 14, 2024 at 3:35 PM Lorenzo Colitti <lorenzo@...gle.com> wrote:
>
> On Mon, Aug 12, 2024 at 7:53 PM Xueming Feng <kuro@...oa.me> wrote:
> > The -ENOENT code comes from the associate patch Lorenzo made for
> > iproute2-ss; link attached below.
>
> ENOENT does seem reasonable. It's the same thing that would happen if
> userspace passed in a nonexistent cookie (we have a test for that).
> I'd guess this could happen if userspace was trying to destroy a
> socket but it lost the race against the process owning a socket
> closing it?
>
> > bh_unlock_sock(sk);
> > local_bh_enable();
> > - tcp_write_queue_purge(sk);
>
> Is this not necessary in any other cases? What if there is
> retransmitted data, shouldn't that be cleared?
This line is duplicated, please see
tcp_done_with_error()->tcp_write_queue_purge().
Thanks,
Jason
Powered by blists - more mailing lists