From: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
To: Bastien Curutchet <bastien.curutchet@bootlin.com>
Cc: "Björn Töpel" <bjorn@kernel.org>,
"Magnus Karlsson" <magnus.karlsson@intel.com>,
"Jonathan Lemon" <jonathan.lemon@gmail.com>,
"Alexei Starovoitov" <ast@kernel.org>,
"Daniel Borkmann" <daniel@iogearbox.net>,
"Andrii Nakryiko" <andrii@kernel.org>,
"Martin KaFai Lau" <martin.lau@linux.dev>,
"Eduard Zingerman" <eddyz87@gmail.com>,
"Song Liu" <song@kernel.org>,
"Yonghong Song" <yonghong.song@linux.dev>,
"John Fastabend" <john.fastabend@gmail.com>,
"KP Singh" <kpsingh@kernel.org>,
"Stanislav Fomichev" <sdf@fomichev.me>,
"Hao Luo" <haoluo@google.com>, "Jiri Olsa" <jolsa@kernel.org>,
"Mykola Lysenko" <mykolal@fb.com>,
"Shuah Khan" <shuah@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
"Jakub Kicinski" <kuba@kernel.org>,
"Jesper Dangaard Brouer" <hawk@kernel.org>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
"Alexis Lothore" <alexis.lothore@bootlin.com>,
netdev@vger.kernel.org, bpf@vger.kernel.org,
linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH bpf-next v3 03/14] selftests/bpf: test_xsk: Fix memory leaks
Date: Wed, 17 Sep 2025 20:33:32 +0200 [thread overview]
Message-ID: <aMr+/NDFQsGChdI4@boxer> (raw)
In-Reply-To: <6ac21f07-45ef-4e80-bedf-c0470df47bc7@bootlin.com>
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
>
next prev parent reply other threads:[~2025-09-17 18:33 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-04 10:10 [PATCH bpf-next v3 00/14] selftests/bpf: Integrate test_xsk.c to test_progs framework Bastien Curutchet (eBPF Foundation)
2025-09-04 10:10 ` [PATCH bpf-next v3 01/14] selftests/bpf: test_xsk: Split xskxceiver Bastien Curutchet (eBPF Foundation)
2025-09-16 14:21 ` Maciej Fijalkowski
2025-09-17 15:28 ` Bastien Curutchet
2025-09-04 10:10 ` [PATCH bpf-next v3 02/14] selftests/bpf: test_xsk: Initialize bitmap before use Bastien Curutchet (eBPF Foundation)
2025-09-04 10:10 ` [PATCH bpf-next v3 03/14] selftests/bpf: test_xsk: Fix memory leaks Bastien Curutchet (eBPF Foundation)
2025-09-16 17:58 ` Maciej Fijalkowski
2025-09-17 15:32 ` Bastien Curutchet
2025-09-17 18:33 ` Maciej Fijalkowski [this message]
2025-09-18 8:07 ` Bastien Curutchet
2025-09-04 10:10 ` [PATCH bpf-next v3 04/14] selftests/bpf: test_xsk: Wrap test clean-up in functions Bastien Curutchet (eBPF Foundation)
2025-09-04 10:10 ` [PATCH bpf-next v3 05/14] selftests/bpf: test_xsk: Release resources when swap fails Bastien Curutchet (eBPF Foundation)
2025-09-04 10:10 ` [PATCH bpf-next v3 06/14] selftests/bpf: test_xsk: Add return value to init_iface() Bastien Curutchet (eBPF Foundation)
2025-09-04 10:10 ` [PATCH bpf-next v3 07/14] selftests/bpf: test_xsk: Don't exit immediately when xsk_attach fails Bastien Curutchet (eBPF Foundation)
2025-09-04 10:10 ` [PATCH bpf-next v3 08/14] selftests/bpf: test_xsk: Don't exit immediately when gettimeofday fails Bastien Curutchet (eBPF Foundation)
2025-09-04 10:10 ` [PATCH bpf-next v3 09/14] selftests/bpf: test_xsk: Don't exit immediately when workers fail Bastien Curutchet (eBPF Foundation)
2025-09-04 10:10 ` [PATCH bpf-next v3 10/14] selftests/bpf: test_xsk: Don't exit immediately if validate_traffic fails Bastien Curutchet (eBPF Foundation)
2025-09-04 10:10 ` [PATCH bpf-next v3 11/14] selftests/bpf: test_xsk: Don't exit immediately on allocation failures Bastien Curutchet (eBPF Foundation)
2025-09-04 10:10 ` [PATCH bpf-next v3 12/14] selftests/bpf: test_xsk: Move exit_with_error to xskxceiver.c Bastien Curutchet (eBPF Foundation)
2025-09-04 10:10 ` [PATCH bpf-next v3 13/14] selftests/bpf: test_xsk: Isolate flaky tests Bastien Curutchet (eBPF Foundation)
2025-09-04 10:10 ` [PATCH bpf-next v3 14/14] selftests/bpf: test_xsk: Integrate test_xsk.c to test_progs framework Bastien Curutchet (eBPF Foundation)
2025-09-16 18:16 ` Maciej Fijalkowski
2025-09-17 15:37 ` Bastien Curutchet
2025-09-04 14:17 ` [PATCH bpf-next v3 00/14] selftests/bpf: " Maciej Fijalkowski
2025-09-04 14:50 ` Bastien Curutchet
2025-09-15 17:13 ` Alexei Starovoitov
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=aMr+/NDFQsGChdI4@boxer \
--to=maciej.fijalkowski@intel.com \
--cc=alexis.lothore@bootlin.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bastien.curutchet@bootlin.com \
--cc=bjorn@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=eddyz87@gmail.com \
--cc=haoluo@google.com \
--cc=hawk@kernel.org \
--cc=john.fastabend@gmail.com \
--cc=jolsa@kernel.org \
--cc=jonathan.lemon@gmail.com \
--cc=kpsingh@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=magnus.karlsson@intel.com \
--cc=martin.lau@linux.dev \
--cc=mykolal@fb.com \
--cc=netdev@vger.kernel.org \
--cc=sdf@fomichev.me \
--cc=shuah@kernel.org \
--cc=song@kernel.org \
--cc=thomas.petazzoni@bootlin.com \
--cc=yonghong.song@linux.dev \
/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.