[LTP] memcg/memcontrol02: fix fd leak in cleanup path

Andrea Cervesato andrea.cervesato@suse.com
Mon Aug 10 11:41:22 CEST 2026


Hi Disha,

> > fd is initialized to 0 (a valid file descriptor) so the cleanup()
> > guard 'if (fd > -1)' would never trigger.
> 
> Could this explanation be corrected? Zero is greater than -1, and the
> cleanup guard is added by this patch rather than being an existing guard.
> The relevant problem is that -1 is needed to distinguish an unopened
> descriptor before cleanup tries to close it.
> 
> > +	if (fd > -1)
> > +		SAFE_CLOSE(fd);
> 
> Could this use `fd != -1` instead? LTP file descriptors use -1 as the
> invalid sentinel, and the LTP convention requires this form for cleanup
> guards.

this is correct.

> 
> --- [PATCH 2/2] ---
> 
> > #include <inttypes.h>
> >
> > -		tst_res(TINFO, "Child %d in %s: Allocating anon: %"PRIdPTR,
> > +		tst_res(TINFO, "Child %d in %s: Allocating anon: %zu",
> 
> Could the now-unused `<inttypes.h>` include be removed from both
> memcontrol03.c and memcontrol04.c? This patch replaces every `PRIdPTR`
> use in both files.

And also this is correct. We should split the patch in two: one for
memcontrol03 and one for memcontrol04

--
Andrea Cervesato
SUSE QE Automation Engineer Linux
andrea.cervesato@suse.com


More information about the ltp mailing list