* [PATCH 6.6.y] mm/damon/lru_sort: avoid divide-by-zero in damon_lru_sort_apply_parameters() [not found] <2025091317-snowsuit-earthen-6ad7@gregkh> @ 2025-09-14 3:33 ` SeongJae Park 2025-09-14 3:37 ` SeongJae Park 0 siblings, 1 reply; 3+ messages in thread From: SeongJae Park @ 2025-09-14 3:33 UTC (permalink / raw) To: stable Cc: damon, Quanmin Yan, SeongJae Park, Kefeng Wang, ze zuo, Andrew Morton From: Quanmin Yan <yanquanmin1@huawei.com> Patch series "mm/damon: avoid divide-by-zero in DAMON module's parameters application". DAMON's RECLAIM and LRU_SORT modules perform no validation on user-configured parameters during application, which may lead to division-by-zero errors. Avoid the divide-by-zero by adding validation checks when DAMON modules attempt to apply the parameters. This patch (of 2): During the calculation of 'hot_thres' and 'cold_thres', either 'sample_interval' or 'aggr_interval' is used as the divisor, which may lead to division-by-zero errors. Fix it by directly returning -EINVAL when such a case occurs. Additionally, since 'aggr_interval' is already required to be set no smaller than 'sample_interval' in damon_set_attrs(), only the case where 'sample_interval' is zero needs to be checked. Link: https://lkml.kernel.org/r/20250827115858.1186261-2-yanquanmin1@huawei.com Fixes: 40e983cca927 ("mm/damon: introduce DAMON-based LRU-lists Sorting") Signed-off-by: Quanmin Yan <yanquanmin1@huawei.com> Reviewed-by: SeongJae Park <sj@kernel.org> Cc: Kefeng Wang <wangkefeng.wang@huawei.com> Cc: ze zuo <zuoze1@huawei.com> Cc: <stable@vger.kernel.org> [6.0+] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> (cherry picked from commit 711f19dfd783ffb37ca4324388b9c4cb87e71363) Signed-off-by: SeongJae Park <sj@kernel.org> --- mm/damon/lru_sort.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mm/damon/lru_sort.c b/mm/damon/lru_sort.c index 3de2916a65c3..b4032538b22c 100644 --- a/mm/damon/lru_sort.c +++ b/mm/damon/lru_sort.c @@ -203,6 +203,9 @@ static int damon_lru_sort_apply_parameters(void) unsigned int hot_thres, cold_thres; int err = 0; + if (!damon_lru_sort_mon_attrs.sample_interval) + return -EINVAL; + err = damon_set_attrs(ctx, &damon_lru_sort_mon_attrs); if (err) return err; -- 2.39.5 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 6.6.y] mm/damon/lru_sort: avoid divide-by-zero in damon_lru_sort_apply_parameters() 2025-09-14 3:33 ` [PATCH 6.6.y] mm/damon/lru_sort: avoid divide-by-zero in damon_lru_sort_apply_parameters() SeongJae Park @ 2025-09-14 3:37 ` SeongJae Park 2025-09-14 7:46 ` Greg KH 0 siblings, 1 reply; 3+ messages in thread From: SeongJae Park @ 2025-09-14 3:37 UTC (permalink / raw) To: SeongJae Park Cc: stable, damon, Quanmin Yan, Kefeng Wang, ze zuo, Andrew Morton On Sat, 13 Sep 2025 20:33:50 -0700 SeongJae Park <sj@kernel.org> wrote: > From: Quanmin Yan <yanquanmin1@huawei.com> > > Patch series "mm/damon: avoid divide-by-zero in DAMON module's parameters > application". > > DAMON's RECLAIM and LRU_SORT modules perform no validation on > user-configured parameters during application, which may lead to > division-by-zero errors. > > Avoid the divide-by-zero by adding validation checks when DAMON modules > attempt to apply the parameters. > > This patch (of 2): > > During the calculation of 'hot_thres' and 'cold_thres', either > 'sample_interval' or 'aggr_interval' is used as the divisor, which may > lead to division-by-zero errors. Fix it by directly returning -EINVAL > when such a case occurs. Additionally, since 'aggr_interval' is already > required to be set no smaller than 'sample_interval' in damon_set_attrs(), > only the case where 'sample_interval' is zero needs to be checked. > > Link: https://lkml.kernel.org/r/20250827115858.1186261-2-yanquanmin1@huawei.com > Fixes: 40e983cca927 ("mm/damon: introduce DAMON-based LRU-lists Sorting") > Signed-off-by: Quanmin Yan <yanquanmin1@huawei.com> > Reviewed-by: SeongJae Park <sj@kernel.org> > Cc: Kefeng Wang <wangkefeng.wang@huawei.com> > Cc: ze zuo <zuoze1@huawei.com> > Cc: <stable@vger.kernel.org> [6.0+] > Signed-off-by: Andrew Morton <akpm@linux-foundation.org> > (cherry picked from commit 711f19dfd783ffb37ca4324388b9c4cb87e71363) > Signed-off-by: SeongJae Park <sj@kernel.org> FYI, the commit was able to be cleanly cherry-picked, but seems it caused a build error, similar to that [1] for 6.1.y. This patch fixes the build error. [1] https://lore.kernel.org/20250914033221.49447-1-sj@kernel.org Thanks, SJ [...] ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 6.6.y] mm/damon/lru_sort: avoid divide-by-zero in damon_lru_sort_apply_parameters() 2025-09-14 3:37 ` SeongJae Park @ 2025-09-14 7:46 ` Greg KH 0 siblings, 0 replies; 3+ messages in thread From: Greg KH @ 2025-09-14 7:46 UTC (permalink / raw) To: SeongJae Park Cc: stable, damon, Quanmin Yan, Kefeng Wang, ze zuo, Andrew Morton On Sat, Sep 13, 2025 at 08:37:11PM -0700, SeongJae Park wrote: > On Sat, 13 Sep 2025 20:33:50 -0700 SeongJae Park <sj@kernel.org> wrote: > > > From: Quanmin Yan <yanquanmin1@huawei.com> > > > > Patch series "mm/damon: avoid divide-by-zero in DAMON module's parameters > > application". > > > > DAMON's RECLAIM and LRU_SORT modules perform no validation on > > user-configured parameters during application, which may lead to > > division-by-zero errors. > > > > Avoid the divide-by-zero by adding validation checks when DAMON modules > > attempt to apply the parameters. > > > > This patch (of 2): > > > > During the calculation of 'hot_thres' and 'cold_thres', either > > 'sample_interval' or 'aggr_interval' is used as the divisor, which may > > lead to division-by-zero errors. Fix it by directly returning -EINVAL > > when such a case occurs. Additionally, since 'aggr_interval' is already > > required to be set no smaller than 'sample_interval' in damon_set_attrs(), > > only the case where 'sample_interval' is zero needs to be checked. > > > > Link: https://lkml.kernel.org/r/20250827115858.1186261-2-yanquanmin1@huawei.com > > Fixes: 40e983cca927 ("mm/damon: introduce DAMON-based LRU-lists Sorting") > > Signed-off-by: Quanmin Yan <yanquanmin1@huawei.com> > > Reviewed-by: SeongJae Park <sj@kernel.org> > > Cc: Kefeng Wang <wangkefeng.wang@huawei.com> > > Cc: ze zuo <zuoze1@huawei.com> > > Cc: <stable@vger.kernel.org> [6.0+] > > Signed-off-by: Andrew Morton <akpm@linux-foundation.org> > > (cherry picked from commit 711f19dfd783ffb37ca4324388b9c4cb87e71363) > > Signed-off-by: SeongJae Park <sj@kernel.org> > > FYI, the commit was able to be cleanly cherry-picked, but seems it caused a > build error, similar to that [1] for 6.1.y. This patch fixes the build error. > > [1] https://lore.kernel.org/20250914033221.49447-1-sj@kernel.org Wonderful, thank you. greg k-h ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-09-14 7:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <2025091317-snowsuit-earthen-6ad7@gregkh>
2025-09-14 3:33 ` [PATCH 6.6.y] mm/damon/lru_sort: avoid divide-by-zero in damon_lru_sort_apply_parameters() SeongJae Park
2025-09-14 3:37 ` SeongJae Park
2025-09-14 7:46 ` Greg KH
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox