[RFC PATCH v2 4/6] mm/damon/sysfs-schemes: drop redundant and racy zero target_value check

From: SJ Park

Date: Sun Nov 01 2026 - 12:18:55 EST


DAMON sysfs interface disallowed zero target_value because it could
result in divide-by-zero in damos_quota_store(). Because similar checks
were duplicated to other DAMON API callers, a patch series that starts
with commit 610c4438fb66 ("mm/damon/core: error
damos_commit_quota_goal() for zero target_value") added a same check in
the core layer central parameters, and dropped redundant checks in
DAMON_LRU_SORT and DAMON_SAMPLIE_MTIER. It forgot to drop that in the
DAMON sysfs interface.

Now the zero target_value check in DAMON sysfs interface is only
redundant. Further, it has a time-of-check to time-of-use (toctou) race
with target_value_store(). It can confuse readers to believe [1] the
division-by-zero can still happen. Drop the redundant and racy check.

[1] https://lore.kernel.org/20261021005234.94107-1-sj@xxxxxxxxxx

Signed-off-by: SJ Park <sj@xxxxxxxxxx>
---
mm/damon/sysfs-schemes.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c
index 637f1bd0c950b..38efdc258ef3f 100644
--- a/mm/damon/sysfs-schemes.c
+++ b/mm/damon/sysfs-schemes.c
@@ -2898,9 +2898,6 @@ static int damos_sysfs_add_quota_score(
struct damos_sysfs_quota_goal *sysfs_goal =
sysfs_goals->goals_arr[i];

- if (!sysfs_goal->target_value)
- continue;
-
goal = damos_new_quota_goal(sysfs_goal->metric,
sysfs_goal->complement,
sysfs_goal->target_value);
--
2.47.3