From: sashiko-bot@kernel.org
To: zhaozhengzhuo@uniontech.com
Cc: damon@lists.linux.dev
Subject: Re: [PATCH] selftests/damon: prevent remaining cross-object state pollution
Date: Thu, 27 Aug 2026 02:20:27 +0000 [thread overview]
Message-ID: <20260827022028.74CE61F000E9@smtp.kernel.org> (raw)
In-Reply-To: <38E4AAAAEDFCC283+20260827021515.1316838-1-zhaozhengzhuo@uniontech.com>
> From: zhaozhengzhuo <zhaozhengzhuo@uniontech.com>
>
> _damon_sysfs.py defines constructors with mutable default arguments,
> including DamosAccessPattern(), DamosQuota(), DamosWatermarks(),
> DamosDests(), IntervalsGoal(), and empty lists.
>
> Default arguments are evaluated once at function definition time.
> Damos() instances created without explicit arguments therefore share
> the same DamosQuota(), and the other default-constructed sub-objects
> and lists are shared in the same way. The sub-objects keep
> back-pointers to their owner scheme, so constructing the second Damos()
> rebinds the shared quota's scheme pointer to the second object. An
> item appended to one object's default contexts or filters list is also
> visible from other default-constructed objects.
>
> The shared state can corrupt test configurations. DamosQuota.sysfs_dir()
> derives the sysfs directory from its scheme pointer, so operating on
> the first scheme's default quota may write to the second scheme's
> directory. The wrong values often match the defaults, so tests still
> pass, but the behavior depends on object creation order.
>
> Commit 8319dadcbd81 ("selftests/damon: prevent cross-context state
> pollution in DamonCtx") fixed the same pattern in DamonCtx only. Fix
> the remaining constructors by defaulting to None and creating fresh
> objects or lists inside each constructor. Explicit arguments keep
> their previous behavior.
>
> Signed-off-by: zhaozhengzhuo <zhaozhengzhuo@uniontech.com>
Sashiko has reviewed this patch and found no issues. It looks great!
--
Sashiko AI review · https://sashiko.dev/#/patchset/38E4AAAAEDFCC283+20260827021515.1316838-1-zhaozhengzhuo@uniontech.com?part=1
next prev parent reply other threads:[~2026-08-27 2:20 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-27 2:14 [PATCH] selftests/damon: prevent remaining cross-object state pollution zhaozhengzhuo
2026-08-27 2:20 ` sashiko-bot [this message]
2026-08-27 3:38 ` SJ Park
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260827022028.74CE61F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=damon@lists.linux.dev \
--cc=sashiko-reviews@lists.linux.dev \
--cc=zhaozhengzhuo@uniontech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.