Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

mm/damon/core-test: test max_nr_accesses overflow caused divide-by-zero

Commit 35f5d94187a6 ("mm/damon: implement a function for max nr_accesses
safe calculation") has fixed an overflow bug that could cause
divide-by-zero. Add a kunit test for the bug to ensure similar bugs are
not introduced again.

Link: https://lkml.kernel.org/r/20231213190338.54146-3-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

authored by

SeongJae Park and committed by
Andrew Morton
5e06ad59 6ad59a38

+11
+11
mm/damon/core-test.h
··· 302 302 damon_destroy_target(t); 303 303 } 304 304 305 + static void damon_test_nr_accesses_to_accesses_bp(struct kunit *test) 306 + { 307 + struct damon_attrs attrs = { 308 + .sample_interval = 10, 309 + .aggr_interval = ((unsigned long)UINT_MAX + 1) * 10 310 + }; 311 + 312 + KUNIT_EXPECT_EQ(test, damon_nr_accesses_to_accesses_bp(123, &attrs), 0); 313 + } 314 + 305 315 static void damon_test_update_monitoring_result(struct kunit *test) 306 316 { 307 317 struct damon_attrs old_attrs = { ··· 497 487 KUNIT_CASE(damon_test_split_regions_of), 498 488 KUNIT_CASE(damon_test_ops_registration), 499 489 KUNIT_CASE(damon_test_set_regions), 490 + KUNIT_CASE(damon_test_nr_accesses_to_accesses_bp), 500 491 KUNIT_CASE(damon_test_update_monitoring_result), 501 492 KUNIT_CASE(damon_test_set_attrs), 502 493 KUNIT_CASE(damon_test_moving_sum),