mm/damon/core: initialize ->esz_bp from damos_quota_init_priv()
authorSeongJae Park <sj@kernel.org>
Fri, 3 May 2024 18:03:09 +0000 (11:03 -0700)
committerAndrew Morton <akpm@linux-foundation.org>
Sat, 11 May 2024 22:41:33 +0000 (15:41 -0700)
Patch series "mm/damon: misc fixes and improvements".

Add miscelleneous and non-urgent fixes and improvements for DAMON code,
selftests, and documents.

This patch (of 10):

damos_quota_init_priv() function should initialize all private fields of
struct damos_quota.  However, it is not initializing ->esz_bp field.  This
could result in use of uninitialized variable from
damon_feed_loop_next_input() function.  There is no such issue at the
moment because every caller of the function is passing damos_quota object
that already having the field zero value.  But we cannot guarantee the
future, and the function is not doing what it is promising.  A bug is a
bug.  This fix is for preventing possible future issues.

Link: https://lkml.kernel.org/r/20240503180318.72798-1-sj@kernel.org
Link: https://lkml.kernel.org/r/20240503180318.72798-2-sj@kernel.org
Fixes: 9294a037c015 ("mm/damon/core: implement goal-oriented feedback-driven quota auto-tuning")
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/core.c

index 6d503c1c125ef0e2c84162ff6d17787ef089a7f4..939ecfcd4641f27593f43dc3a15665ceaf6c37aa 100644 (file)
@@ -346,6 +346,7 @@ static struct damos_quota *damos_quota_init(struct damos_quota *quota)
        quota->charged_from = 0;
        quota->charge_target_from = NULL;
        quota->charge_addr_from = 0;
+       quota->esz_bp = 0;
        return quota;
 }