Re: [RFC PATCH 1/6] mm/damon/tests/core-kunit: test damon_commit_filter()
[email protected] Wed, 29 Jul 2026 14:52:57 +0000
| Newsgroups | dev.linux.lists.damon |
|---|---|
| Message-ID | <[email protected]> |
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Medium] The kunit test uses the wrong enum type `DAMOS_FILTER_TYPE_MEMCG` instead of `DAMON_FILTER_TYPE_MEMCG` when checking `src->type`, causing the `memcg_id` assertion to be silently skipped. -- --- Patch [1]: [RFC PATCH 1/6] mm/damon/tests/core-kunit: test damon_commit_filter() --- commit e16ea26a19f85858bdb608d81842e976d30c3270 Author: SJ Park <[email protected]> mm/damon/tests/core-kunit: test damon_commit_filter() Add kunit test to ensure damon_commit_filter() updates destination filter as expected for valid inputs. > diff --git a/mm/damon/tests/core-kunit.h b/mm/damon/tests/core-kunit.h > index 4a536d41cdb2d..6cbe22accabfb 100644 > --- a/mm/damon/tests/core-kunit.h > +++ b/mm/damon/tests/core-kunit.h > @@ -1306,6 +1306,45 @@ static void damon_test_commit_target_regions(struct kunit *test) [ ... ] > +static void damon_test_commit_filter_for(struct kunit *test, > + struct damon_filter *dst, struct damon_filter *src) > +{ > + damon_commit_filter(dst, src); > + KUNIT_EXPECT_EQ(test, dst->type, src->type); > + KUNIT_EXPECT_EQ(test, dst->matching, src->matching); > + KUNIT_EXPECT_EQ(test, dst->allow, src->allow); > + switch (src->type) { > + case DAMOS_FILTER_TYPE_MEMCG: > + KUNIT_EXPECT_EQ(test, dst->memcg_id, src->memcg_id); > + break; [Severity: Medium] Will this case label ever be matched? This code checks against DAMOS_FILTER_TYPE_MEMCG, but damon_test_commit_filter() below initializes the source filter with type DAMON_FILTER_TYPE_MEMCG. Because of this mismatch, the switch statement falls through to the default case, and the test silently skips the assertion for memcg_id. > + default: > + break; > + } > +} > + > +static void damon_test_commit_filter(struct kunit *test) > +{ [ ... ] > + damon_test_commit_filter_for(test, &dst, > + &(struct damon_filter){ > + .type = DAMON_FILTER_TYPE_MEMCG, > + .matching = false, > + .allow = false, > + .memcg_id = 123, > + }); > +} -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=1