[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aMr+/NDFQsGChdI4@boxer>
Date: Wed, 17 Sep 2025 20:33:32 +0200
From: Maciej Fijalkowski <maciej.fijalkowski@...el.com>
To: Bastien Curutchet <bastien.curutchet@...tlin.com>
CC: Björn Töpel <bjorn@...nel.org>, Magnus Karlsson
<magnus.karlsson@...el.com>, Jonathan Lemon <jonathan.lemon@...il.com>,
Alexei Starovoitov <ast@...nel.org>, Daniel Borkmann <daniel@...earbox.net>,
Andrii Nakryiko <andrii@...nel.org>, Martin KaFai Lau <martin.lau@...ux.dev>,
Eduard Zingerman <eddyz87@...il.com>, Song Liu <song@...nel.org>, "Yonghong
Song" <yonghong.song@...ux.dev>, John Fastabend <john.fastabend@...il.com>,
"KP Singh" <kpsingh@...nel.org>, Stanislav Fomichev <sdf@...ichev.me>, Hao
Luo <haoluo@...gle.com>, Jiri Olsa <jolsa@...nel.org>, Mykola Lysenko
<mykolal@...com>, Shuah Khan <shuah@...nel.org>, "David S. Miller"
<davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>, "Jesper Dangaard
Brouer" <hawk@...nel.org>, Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
Alexis Lothore <alexis.lothore@...tlin.com>, <netdev@...r.kernel.org>,
<bpf@...r.kernel.org>, <linux-kselftest@...r.kernel.org>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH bpf-next v3 03/14] selftests/bpf: test_xsk: Fix memory
leaks
On Wed, Sep 17, 2025 at 05:32:55PM +0200, Bastien Curutchet wrote:
> Hi Maciej
>
> On 9/16/25 7:58 PM, Maciej Fijalkowski wrote:
> > On Thu, Sep 04, 2025 at 12:10:18PM +0200, Bastien Curutchet (eBPF Foundation) wrote:
> > > Some tests introduce memory leaks by not freeing all the pkt_stream
> > > objects they're creating.
> > >
> > > Fix these memory leaks.
> >
> > I would appreciate being more explicit here as I've been scratching my
> > head here.
> >
>
> Indeed it lacks details sorry. IIRC I spotted these with valgrind, maybe I
> can add valgrind's output to the commit log in next iteration.
>
> > From what I see the problem is with testapp_stats_rx_dropped() as it's the
> > one case that uses replace and receive half of pkt streams, both of which
> > overwrite the default pkt stream. So we lose a pointer to one of pkt
> > streams and leak it eventually.
> >
>
> Exactly, we lose pointers in some cases when xsk->pkt_stream gets replaced
> by a new stream. testapp_stats_rx_dropped() is the most convoluted of these
> cases.
pkt_stream_restore_default() is supposed to delete overwritten pkt_stream
and set ::pkt_stream to default one, explicit pkt_stream_delete() in bunch
of tests is redundant IMHO.
Per my understanding testapp_stats_rx_dropped() and
testapp_xdp_shared_umem() need fixing. First generate pkt_stream twice and
second generates pkt_stream on each xsk from xsk_arr, where normally
xsk_arr[0] gets pkt_streams and xsk_arr[1] have them NULLed.
>
> Best regards,
> --
> Bastien Curutchet, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
Powered by blists - more mailing lists