[PATCH v1 0/5] perf test: Sanity check file descriptors are cleaned up

From: Ian Rogers
Date: Tue Jun 24 2025 - 15:03:41 EST


Some recent patches showed we were leaking file descriptors:
https://lore.kernel.org/lkml/20250617223356.2752099-2-irogers@xxxxxxxxxx/

When a test is forked the file descriptors >3 can be closed and then
any file descriptors >3 left after the test are leaks. Add this
checking to the forked test code. Prior to that clean up some file
descriptor usage so we can assert that only file descriptors are
cleaned up. Sometimes the file descriptor being held open is the
result of a memory leak, so fix those.

Ian Rogers (5):
perf dso: Add missed dso__put to dso__load_kcore
perf test code-reading: Avoid a leak of cpus and threads
perf hwmon_pmu: Hold path rather than fd
perf dso: With ref count checking, avoid dso_data holding dso live
perf test: In forked mode add check that fds aren't leaked

tools/perf/tests/builtin-test.c | 69 +++++++++++++++++++++++++++++++++
tools/perf/tests/code-reading.c | 7 ----
tools/perf/tests/hwmon_pmu.c | 11 +++---
tools/perf/util/dso.c | 4 ++
tools/perf/util/hwmon_pmu.c | 38 +++++++++++++-----
tools/perf/util/hwmon_pmu.h | 4 +-
tools/perf/util/pmus.c | 2 +-
tools/perf/util/pmus.h | 2 +-
tools/perf/util/symbol.c | 1 +
9 files changed, 112 insertions(+), 26 deletions(-)

--
2.50.0.714.g196bf9f422-goog