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 >

