[PATCH 0/2] taskstats: fix cgroupstats invalid fd handling and add selftests

From: Yiyang Chen

Date: Fri Jul 10 2026 - 16:08:32 EST


This series fixes an issue where cgroupstats mishandles invalid file
descriptors, and introduces a functional kselftest to prevent regressions.

When an invalid file descriptor is passed via CGROUPSTATS_CMD_ATTR_FD,
cgroupstats_user_cmd() returns 0 instead of an error code. This leads to
two broken behaviors depending on netlink flags:
- Callers without NLM_F_ACK block indefinitely on recv().
- Callers with NLM_F_ACK receive a misleading success ACK (errno == 0)
but no actual statistics payload.

The first patch addresses this by returning -EBADF when the fd cannot be
resolved. The second patch adds a comprehensive kselftest covering both
the valid cgroup v1 query and the invalid fd paths (with and without
NLM_F_ACK) to ensure the fixes work as intended.

Yiyang Chen (2):
taskstats: return -EBADF when cgroupstats receives an invalid fd
selftests/acct: add cgroupstats functional test

kernel/taskstats.c | 2 +-
tools/testing/selftests/acct/Makefile | 1 +
tools/testing/selftests/acct/cgroupstats.c | 354 +++++++++++++++++++++
3 files changed, 356 insertions(+), 1 deletion(-)
create mode 100644 tools/testing/selftests/acct/cgroupstats.c

--
2.43.0