[PATCH 00/10] mm/damon/core: hide core-private struct fields

From: SJ Park

Date: Tue Jul 14 2026 - 10:38:00 EST


DAMON core structs hide core-private fields using 'private:' comment
tags. It is incomplete and inconsistent. The linked list heads in a
few structs, for example, are intended to be hidden, and always be used
using the wrapper macros like damon_for_each_region(). But those were
mistakenly marked as non-private. A few core layer-only fields were
also mistakenly added as non-private.

This only encourages callers to directly use the private fields. It is
easy to make mistakes, and difficult to control. Mark all such DAMON
core struct fields as private.

Patches 1-8 mark the private fields for damon_region, damon_target,
damos_quota_goal, damos_quota, damos_filter, damos, damon_filter and
damon_probe, respectively. Patch 9 removes DAMON_SYSFS's direct access
to core-private field, damon_ctx->ops. Finally patch 10 mark the
private fields for damon_ctx.

Changes from RFC v1
- RFC v1: https://lore.kernel.org/20260714043437.95811-1-sj@xxxxxxxxxx
- Drop RFC tag.

SJ Park (10):
mm/damon/core: hide private damon_region fields
mm/damon/core: hide private damon_target fields
mm/damon/core: hide private damos_quota_goal fields
mm/damon/core: hide private damos_quota fields
mm/damon/core: hide private damos_filter fields
mm/damon/core: hide private damos fields
mm/damon/core: hide private damon_filter fields
mm/damon/core: hide private damon_probe fields
mm/damon/sysfs: do not directly access damon_ctx->ops
mm/damon/core: hide core-private damon_ctx fields

include/linux/damon.h | 110 +++++++++++++++++++++++-------------------
mm/damon/sysfs.c | 2 +-
2 files changed, 62 insertions(+), 50 deletions(-)


base-commit: 4c0f8c26ecc149f268b6c488e6cbde2a4e58160a
--
2.47.3