From nobody Fri Sep 25 12:37:28 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ED52137F337; Sat, 12 Sep 2026 19:18:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789240697; cv=none; b=AClwoBDYizadE5ti8T1yezJWBVLrq2xyL4rZZCDXSm6sXypvKct+UXg+aHPQieKQK0HVwR2qc1vI58kZ607D/B7YnnccOGZ13rSnzYKWoLUBR+8311oEUcd7anHYow/9RaO4IE1OeuDG0W7PFb+i5ow/qrsGoaoyjPTD4kiJCpo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789240697; c=relaxed/simple; bh=gZK1bNR/6VsrE2g3Gf0chVwSQZHcPPaYBk/SDLvircU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CC/q1HR6PuhKMAmGQSiqbw2ozn2ftlrzQa1GJJglWBBPIJ0s6MZr5DxLr7KeqhiDfydXggUUXqyG+f8ITm99/F6EyTW22/whsyCyJLI9I/lk/2jCkR2mvv+zcALE5kDlDEzv3qYjjWuBP/9C1d9WsoII2AYiGYGyPE/Kpmgmpys= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=IIQlp3wz; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="IIQlp3wz" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9DA9A1F000FF; Sat, 12 Sep 2026 19:18:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789240695; bh=umQcJFGrr068QYat6Lud6jcAzEmAFL/l4IbhvroBRbM=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=IIQlp3wzKOpey5hFACaYAcYubZeCZzpy4jW7JRvFX3EnDFe19Wvhlod6m6w33Z7tV PXgT8/PVZay2PbPBjwmT0xoWGGMaih9DU0VSOl0CW0QXU7WC4/4gpqYN1KiJXVWcYY xqxOQDJXROO4+1DOsXOWDlwSL7FzgkJ6tJvi7phI46CLd5/dn9fToOmI7MCBkXhj0e 4FkwB1RGgH94d1WaxXUW4sYYGs717WsRxtzyl5ICdKtdkuGIZVxl5Bz1gKBy94pxwS 8GMs+z/oOmOvqQ3/OTosoAUHFHiMx225mjE0LXBhVE7aA4M3I2O9dNcJs9cKhD2/p0 5vG77Ph2DAHpA== From: SJ Park To: Cc: SJ Park , stable@vger.kernel.org, Andrew Morton , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 1/8] mm/damon/sysfs-schemes: read sysfs_filter->addr_range only once Date: Sat, 12 Sep 2026 12:17:59 -0700 Message-ID: <20260912191807.138502-2-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260912191807.138502-1-sj@kernel.org> References: <20260912191807.138502-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" DAMON sysfs interface reads the user-provided address range arguments for addr type DAMOS filter twice. Once for validation, and once again for assignments to the variable that will be passed to the core layer. If the user updates the argument in parallel, an invalid address range could be passed to the core layer. Avoid it by doing the assignments first, and then validating the assigned variables before passing those to the core layer. User impact of the bug should be trivial. From the core layer's perspective, the invalid address range is not really invalid. It just works as having a weird address range. No critical issues such as a crash or a leak could happen. And sane users ain't do such parallel arguments update anyway. If they do, such racy behavior is arguably somewhat expected and deserved. That said, there is no reason to keep such races. Fixes: 2f1abcfccd86 ("mm/damon/sysfs-schemes: support address range type DA= MOS filter") Cc: # 6.6.x Signed-off-by: SJ Park --- mm/damon/sysfs-schemes.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c index 3de4d804e049f..3c1c1cb387fec 100644 --- a/mm/damon/sysfs-schemes.c +++ b/mm/damon/sysfs-schemes.c @@ -2831,12 +2831,12 @@ static int damon_sysfs_add_scheme_filters(struct da= mos *scheme, return err; } } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_ADDR) { - if (sysfs_filter->addr_range.end < - sysfs_filter->addr_range.start) { + filter->addr_range =3D sysfs_filter->addr_range; + if (filter->addr_range.end < + filter->addr_range.start) { damos_destroy_filter(filter); return -EINVAL; } - filter->addr_range =3D sysfs_filter->addr_range; } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_TARGET) { filter->target_idx =3D sysfs_filter->target_idx; } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_HUGEPAGE_SIZE) { --=20 2.47.3 From nobody Fri Sep 25 12:37:28 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 71F1D37F75B; Sat, 12 Sep 2026 19:18:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789240697; cv=none; b=QJHYu1m9ojb2WEOQGP95Okm6Kba+diMIpDXQUdIQW2tqCLL0YrWsSSfFgPemWzJhPRcRQhKDs26AJ7x639aal4fatLbmbBtLJIan5d6jrhF/rWhwgsU+nwEp7YXdWtBkVdp667oNiaOIFJ+Y+K/h8M4/yixGfkfhW5zXQ1DEy1s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789240697; c=relaxed/simple; bh=coOKyd0rtvaMCxH/mKUGhnrdea7b8MWsrIPmIS/QuxI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hag6CP9vinEOQFkYepRPtQk/BJQMCXwVmy3aiw7aoz9tUtd/Cu99v+CoHCyn3vdGe4REAdzr5RP+GdTjpMunbxEztyDkUVF6UoV1btZCeGZslD6wm6zvLF4ajSXLKO8gB3JpF6jUKDdKmpYHS2tgZ4q/AQ5dg5d8z4PSHR38IUo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Pb2rwd3i; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Pb2rwd3i" Received: by smtp.kernel.org (Postfix) with ESMTPSA id F41E81F00898; Sat, 12 Sep 2026 19:18:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789240696; bh=hAIupWOiZk1Nz5VeipyYWCDtbEHKa9N+XsP7giaox3I=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Pb2rwd3i7YJEayi20uaPGc3CcA5bXzPFyUFJ6I+PnkBjhyagDQ/JtJWVamOJZF+QZ GOBKiyeMwZ2GNRSpemAIE2yOVYItKsiz4HeJIasjJF1H5qRlhCmaYsdsXBXGAf71Cs f6nfS73vDuIkg1HclAThaPxtO/A0l6G2sVUFkjxrWD2axGUwu1JD4t/zORtLzmv03T sJwuVILiLssQCHhr8TbmtAavsdYwv1yVDyvdGmvvpC4XgP5d2RNC/j77EjuD4XsH1r N5pcZq3qd2B3sCy6+ISy6uggHu+ZC3xFc8mETLPmp0lWmE5pqCmYuZ156H/9E8vh3u FEBDLK2vkmtew== From: SJ Park To: Cc: SJ Park , stable@vger.kernel.org, Andrew Morton , Usama Arif , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 2/8] mm/damon/sysfs-schemes: read sysfs_filter->sz_range only once Date: Sat, 12 Sep 2026 12:18:00 -0700 Message-ID: <20260912191807.138502-3-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260912191807.138502-1-sj@kernel.org> References: <20260912191807.138502-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" DAMON sysfs interface reads the user-provided size range arguments for hugepage_size type DAMOS filter twice. Once for validation, and once again for assignments to the variable that will be passed to the core layer. If the user updates the arguments in parallel, an invalid size range could be passed to the core layer. Avoid it by doing the assignments first, and then validating the assigned variables before passing those to the core layer. User impact of the bug should be trivial. From the core layer's perspective, the invalid size range is not really invalid. It just works as having a weird size range. No critical issues such as a crash or a leak could happen. And sane users ain't do such parallel arguments update anyway. If they do, such racy behavior is arguably somewhat expected and deserved. That said, there is no reason to keep such races. Fixes: ea1f204ba29a ("mm/damon/sysfs-schemes: add files for setting damos_f= ilter->sz_range") Cc: # 6.15.x Signed-off-by: SJ Park --- mm/damon/sysfs-schemes.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c index 3c1c1cb387fec..8c8ab82c8facc 100644 --- a/mm/damon/sysfs-schemes.c +++ b/mm/damon/sysfs-schemes.c @@ -2840,13 +2840,12 @@ static int damon_sysfs_add_scheme_filters(struct da= mos *scheme, } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_TARGET) { filter->target_idx =3D sysfs_filter->target_idx; } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_HUGEPAGE_SIZE) { - if (sysfs_filter->range_min > - sysfs_filter->range_max) { + filter->sz_range.min =3D sysfs_filter->range_min; + filter->sz_range.max =3D sysfs_filter->range_max; + if (filter->range_min > filter->range_max) { damos_destroy_filter(filter); return -EINVAL; } - filter->sz_range.min =3D sysfs_filter->range_min; - filter->sz_range.max =3D sysfs_filter->range_max; } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_PROBE_HITS_WSUM) { filter->range_min =3D sysfs_filter->range_min; filter->range_max =3D sysfs_filter->range_max; --=20 2.47.3 From nobody Fri Sep 25 12:37:28 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9C5A537F75E; Sat, 12 Sep 2026 19:18:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789240697; cv=none; b=h6HBVVelMUn0Ma4uY7IZWrCAzDEBRRXEooIJV+RegCAIOL27mXufYjpSN4SytfLjPJkWUr06HzgUM0tYDiluKn8y/u2oYulMLDnsWHtODLQhrd41LXoxTJ0XA3nwsV080UVcClAmnGax5/SQ1Uz1YAPNNZcX3w1Q/cDfdwPCLp4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789240697; c=relaxed/simple; bh=90f9yZ7JrVqlLjVYd4BWbp5Wf93983JuyPp/tZs9Kz0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XdspVEp9192sM07U8rKf9Jjb7yvF0PMR13aE1UgUyy06OAjlv6p25+EF7EerDZ2g7Xq/HCSqlJQThiMARPBrOPn4jJHPKAOUt0cUtUjVnnzVTHPT2VSOzrRsFFWNKcfWs0yweMf0Kh1Ol6+h3444pzI7b0FOxDYLdoCT0+agb3Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ToRA9W2S; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ToRA9W2S" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5BACE1F0089A; Sat, 12 Sep 2026 19:18:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789240696; bh=RCy1mpgnGFNfwJbYRh4cYXVMRxk5ZkvS/1Omzx6vs3g=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ToRA9W2SK4fhF4Qsb8Q/v0HI8l5gMOI8Rx9/MdPJY20eeTc/Vf3G+V5giJolzRLdi nDAeXesvRJa0J1Y5D+HV+iqKc4Wm/UMi1bkinZTAkfS5cbdYbw5EHoyXPBfLkYLorb Qd0u6kqCp7em6DBSJ/7ZmAorUZkAvj2eF6mLcgjSiZ31hHtxMAQN/45JthcbAMBf74 jyftB5XC8zvcSy8HUds3z2r6xnOBpQjRp/Amg3HRnGtwnN4E/+ZFNgeNS3FM1OLgVN SoGuDnC+35BjXPhBhmGVLMvDr2NXAaD7z9yIfFbjaLU9mTpzHgOvEZWehyZlkqE+Xa ZP/Xu/Zfw/JUA== From: SJ Park To: Cc: SJ Park , Andrew Morton , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 3/8] mm/damon/core: return an error from damos_commit_filter_arg() Date: Sat, 12 Sep 2026 12:18:01 -0700 Message-ID: <20260912191807.138502-4-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260912191807.138502-1-sj@kernel.org> References: <20260912191807.138502-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" damos_commit_filter_arg() is supposed to always succeed. It may not in future, for example, if the given filter is invalid. Prepare the case by modifying its signature to return an error when it failed. Also pipe the return value to its callers and let them handle the error. Signed-off-by: SJ Park --- mm/damon/core.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/mm/damon/core.c b/mm/damon/core.c index 0c98f7e267d07..3ad1fb2f21f3f 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -1317,7 +1317,7 @@ static struct damos_filter *damos_nth_ops_filter(int = n, struct damos *s) return NULL; } =20 -static void damos_commit_filter_arg( +static int damos_commit_filter_arg( struct damos_filter *dst, struct damos_filter *src) { switch (dst->type) { @@ -1340,28 +1340,32 @@ static void damos_commit_filter_arg( default: break; } + return 0; } =20 -static void damos_commit_filter( +static int damos_commit_filter( struct damos_filter *dst, struct damos_filter *src) { dst->type =3D src->type; dst->matching =3D src->matching; dst->allow =3D src->allow; - damos_commit_filter_arg(dst, src); + return damos_commit_filter_arg(dst, src); } =20 static int damos_commit_core_filters(struct damos *dst, struct damos *src) { struct damos_filter *dst_filter, *next, *src_filter, *new_filter; - int i =3D 0, j =3D 0; + int i =3D 0, j =3D 0, err; =20 damos_for_each_core_filter_safe(dst_filter, next, dst) { src_filter =3D damos_nth_core_filter(i++, src); - if (src_filter) - damos_commit_filter(dst_filter, src_filter); - else + if (src_filter) { + err =3D damos_commit_filter(dst_filter, src_filter); + if (err) + return err; + } else { damos_destroy_filter(dst_filter); + } } =20 damos_for_each_core_filter_safe(src_filter, next, src) { --=20 2.47.3 From nobody Fri Sep 25 12:37:28 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2DAE437EFE2; Sat, 12 Sep 2026 19:18:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789240698; cv=none; b=P2ueiGyo4DyUyG88pRx3Mk03BH1mGu98FPN7LQar3lf8ztYIr7LKrHjfNfgGxx672G/3yYS8Vfz2UZmBWfWUdXlCNbj1eUzaW28+zrUTAtPwcBtaqDV06o2x5v2NDnjcvie2EuF+h+2XS9ZO+ihUsQjVlyByTJ8TrQb0LJklsNM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789240698; c=relaxed/simple; bh=6h3GJnIwfR+wAmW138+iTOVPy0JzFMMNyZ+vHGhSeTY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LDEEAwV9Yznds8Ear3U5PXS2drDfNg8dc3JwggTgeaDzpUzrsPwhz4KVThrLoVKvgYkfrhm9SE90X1Ccn0OdfT3p3J/pVnaBgpvSUwB8km5S44voLiQ2YI7T/Pg5PiRjq6qYbld5QJu2ROoJCMPIDiyWhRNieDqh0oQ8BrO5mWU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=YSDnYgil; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="YSDnYgil" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A8A3F1F0089B; Sat, 12 Sep 2026 19:18:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789240696; bh=I5maU5zzmZHDxR2AzfaTKL3DQf78nhgNoQRlzVqJW+4=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=YSDnYgil9MBGd5k4BYAZLCJOj9+ScoGA7iOy1ENZ2EvV1HQxJKVh3ZYcGuLQw+gPX 17X6y/h6zrIyGk6scu9KMcNCvh3IzV7xnRnNvFiX5r33B9qn72XXz5YKQX5Du0Thc3 RnbzbpyZZIjP0KnqDnZT6RtICn3w8COslSAngr0T6nX4bI6og3IhXk7Sb8WHc8IcRk SF2qVg2ZW3bXaGs9eVBP8ooUisap4kWv+5Ixwo67THw1A/wjhkui2sdfgtKF2kYO1u YZXtA8J+nzq0KsDcZulZsowyGvU9ZItY/la65zwfxvjtf/5XfPGziZVQzlChH2nZT5 FD42pwaD2QfFg== From: SJ Park To: Cc: SJ Park , Andrew Morton , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 4/8] mm/damon/core: disallow max < min damos filter range arguments commit Date: Sat, 12 Sep 2026 12:18:02 -0700 Message-ID: <20260912191807.138502-5-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260912191807.138502-1-sj@kernel.org> References: <20260912191807.138502-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" damos_commit_filter_arg() receives range arguments for a few types of DAMOS filters. It allows any range including max < min range. It is fine for the logic, but makes no sense to support it. Actually DAMON sysfs interface is doing the validation on its own. To avoid duplicated validations in multiple DAMON API callers, it would be better to do the validation in the core layer. Add a validation of the given range. Signed-off-by: SJ Park --- mm/damon/core.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mm/damon/core.c b/mm/damon/core.c index 3ad1fb2f21f3f..3dec1a8f7ed3a 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -1325,15 +1325,21 @@ static int damos_commit_filter_arg( dst->memcg_id =3D src->memcg_id; break; case DAMOS_FILTER_TYPE_ADDR: + if (src->addr_range.end < src->addr_range.start) + return -EINVAL; dst->addr_range =3D src->addr_range; break; case DAMOS_FILTER_TYPE_TARGET: dst->target_idx =3D src->target_idx; break; case DAMOS_FILTER_TYPE_HUGEPAGE_SIZE: + if (src->sz_range.max < src->sz_range.min) + return -EINVAL; dst->sz_range =3D src->sz_range; break; case DAMOS_FILTER_TYPE_PROBE_HITS_WSUM: + if (src->range_max < src->range_min) + return -EINVAL; dst->range_min =3D src->range_min; dst->range_max =3D src->range_max; break; --=20 2.47.3 From nobody Fri Sep 25 12:37:28 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7112C3803F1; Sat, 12 Sep 2026 19:18:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789240698; cv=none; b=QXG6ChF2XuHbO1enkBaiyrp4k6UVX0CYaCcoUHuHKt/SCou9/LkiBYACZFs0YgGta6K+JGqMDw/ZuDWMFA8ZxQpiwaCimcvmzBPOJK1BnM5PdXWlNbebBvOFx6JRHv7aoS6N3ymrbBEFsVT8Ml++gNv/C8dX6xrAHcpsbwQCtDQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789240698; c=relaxed/simple; bh=tpVaEb4AYEZ73fAxIIPOmUa+AX18NBp3TqT+frNo5vc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gIs8go8BTuz6WNtme6pexOlkUe95DyVlfvxIaJxM9R/6DX6vu4rcuOGcuVVnYPP/GcrXugK8rowB0NGJ0Vbe4sr3wMkhzxd2mX7VKakji+YK8by01Vg+bobjrDm7hsHE8kGzLinIqBcMi0Ybx5dLjWMRaxz9GVjl/j3ny9Cpo3I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=hrI54Zs0; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="hrI54Zs0" Received: by smtp.kernel.org (Postfix) with ESMTPSA id F3D961F0089C; Sat, 12 Sep 2026 19:18:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789240697; bh=SymGB/Aunbf5NpktH/MrAmxXwvCzvOB6NopidPvvPWo=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=hrI54Zs0ZHlyuNs81eKuRAMlM85IMUjCFlUF75HLy3CHQEDjXuDocyb4YDK9bd7RP XXV8088K0UCW72zqDqixZ018ccn0C3TVca1VwYtAar8GVcp/9Wk+WqOd5uJovhKCBC B8juJYsoPO5PZY/B2LP+S97g5c2Rx3gD1bxwMqg76MBNOwGZxmAvRTL4t7v3HXznre SdTY3I3TGhLB0revSdscRgpafcNMBFbKIE+/JByjWA6pYnP/nBC7RndrwtxO8usccU cvPAfDkYbxIW9LGScNDVhchTHJHoHhaYcqkZUpHqb5jDJM2U85ZxMJ4AlnMLbRZdyT 2xD2GqsAT++7g== From: SJ Park To: Cc: SJ Park , Andrew Morton , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 5/8] mm/damon/sysfs-schemes: drop centralized filter range arg validations Date: Sat, 12 Sep 2026 12:18:03 -0700 Message-ID: <20260912191807.138502-6-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260912191807.138502-1-sj@kernel.org> References: <20260912191807.138502-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" DAMON sysfs interface is validating wrong range arguments for DAMOS filters. Now the core layer is doing the same validation. Drop the duplicated validation in DAMON sysfs interface. Signed-off-by: SJ Park --- mm/damon/sysfs-schemes.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c index 8c8ab82c8facc..a4ec5d54cfbd1 100644 --- a/mm/damon/sysfs-schemes.c +++ b/mm/damon/sysfs-schemes.c @@ -2832,27 +2832,14 @@ static int damon_sysfs_add_scheme_filters(struct da= mos *scheme, } } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_ADDR) { filter->addr_range =3D sysfs_filter->addr_range; - if (filter->addr_range.end < - filter->addr_range.start) { - damos_destroy_filter(filter); - return -EINVAL; - } } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_TARGET) { filter->target_idx =3D sysfs_filter->target_idx; } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_HUGEPAGE_SIZE) { filter->sz_range.min =3D sysfs_filter->range_min; filter->sz_range.max =3D sysfs_filter->range_max; - if (filter->range_min > filter->range_max) { - damos_destroy_filter(filter); - return -EINVAL; - } } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_PROBE_HITS_WSUM) { filter->range_min =3D sysfs_filter->range_min; filter->range_max =3D sysfs_filter->range_max; - if (filter->range_min > filter->range_max) { - damos_destroy_filter(filter); - return -EINVAL; - } } =20 damos_add_filter(scheme, filter); --=20 2.47.3 From nobody Fri Sep 25 12:37:28 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A99643812F7; Sat, 12 Sep 2026 19:18:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789240699; cv=none; b=F7Po0XPngPSh3+por/tA5W/btw06s7Hld3nVim0v2BQa90lvTq9IiXbhpP6rQm0PmMuppHRKOpy0D2YD0B07vZTAw4akDhBnvgV2cfBkOil63cgjgiFL3YwhHrVaZH+xkEoT6k5e/pUFoS5SU7KGUxDz1BFQ4M+Vu0W5OPf9izU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789240699; c=relaxed/simple; bh=dL2tCf9R2yFYdQyhb1vg7KlOpunIGTvyq2ICqewh28E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=A0MwNxHLse//rMZe98KcUNwzxReNfBQV1Kj2woA+AY2AEzeFfB7YH3EKJUNFDcB4abXPd35s3X2qnKG1lKVQ37V/J63airg240+1ctEj7ZNA/zwWNOTbwQbVBakOW337mQLnIkAe/SD7MFbaKK2t53piTFkruq+z2kE07nPeIAI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=U/hHv/R2; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="U/hHv/R2" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4D2E01F0089E; Sat, 12 Sep 2026 19:18:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789240697; bh=MBpdI9GABjSpbOSBeiuA8iViUPE/b+K1BLYoiHpgDDA=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=U/hHv/R2tnulEDhwwUYhXoSm0PLal63tqu6VxubfKNipw+ZB6kOqdo2/OZcxjf4h1 ZqDf8SWbF+r9N9cGHCgDmyoAaOGQZzPBM9jkFEH0R1raZ8pwe2dWDbA3m5lhDpXBj3 mwDnpLLyvSS72+3c0DCN79RClX5TCD7DzfeEThjgqJE8n7ivYXs1oXC92CD5n26pu6 XV2WUAA/VfaoMEb5RTpslKMaxUB9aU5jKpxhB/jZQjnRfg6SfTn7yUVhzJj9fhv40l t2FJDAeqsPVeKwt2/6wiZSAaNLj8+OwqIGYxpGJ+14RisXyWKxHZScJbXTanAMweM2 uvM3B6v0cggxg== From: SJ Park To: Cc: SJ Park , Andrew Morton , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 6/8] mm/damon/sysfs-schemes: use switch-case in add_scheme_filters() Date: Sat, 12 Sep 2026 12:18:04 -0700 Message-ID: <20260912191807.138502-7-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260912191807.138502-1-sj@kernel.org> References: <20260912191807.138502-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" damon_sysfs_add_scheeme_filters() has long if-else chains for DAMOS filter types. Convert the code to use switch-case, which would be cleaner and more efficient. Signed-off-by: SJ Park --- mm/damon/sysfs-schemes.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c index a4ec5d54cfbd1..bfb6f0bc3f213 100644 --- a/mm/damon/sysfs-schemes.c +++ b/mm/damon/sysfs-schemes.c @@ -2822,7 +2822,8 @@ static int damon_sysfs_add_scheme_filters(struct damo= s *scheme, =20 if (!filter) return -ENOMEM; - if (filter->type =3D=3D DAMOS_FILTER_TYPE_MEMCG) { + switch (filter->type) { + case DAMOS_FILTER_TYPE_MEMCG: err =3D damon_sysfs_memcg_path_to_id( sysfs_filter->memcg_path, &filter->memcg_id); @@ -2830,16 +2831,23 @@ static int damon_sysfs_add_scheme_filters(struct da= mos *scheme, damos_destroy_filter(filter); return err; } - } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_ADDR) { + break; + case DAMOS_FILTER_TYPE_ADDR: filter->addr_range =3D sysfs_filter->addr_range; - } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_TARGET) { + break; + case DAMOS_FILTER_TYPE_TARGET: filter->target_idx =3D sysfs_filter->target_idx; - } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_HUGEPAGE_SIZE) { + break; + case DAMOS_FILTER_TYPE_HUGEPAGE_SIZE: filter->sz_range.min =3D sysfs_filter->range_min; filter->sz_range.max =3D sysfs_filter->range_max; - } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_PROBE_HITS_WSUM) { + break; + case DAMOS_FILTER_TYPE_PROBE_HITS_WSUM: filter->range_min =3D sysfs_filter->range_min; filter->range_max =3D sysfs_filter->range_max; + break; + default: + break; } =20 damos_add_filter(scheme, filter); --=20 2.47.3 From nobody Fri Sep 25 12:37:28 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2CBB238331B; Sat, 12 Sep 2026 19:18:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789240699; cv=none; b=ZRLuLwPHOCC1OgHsvzIzDp5TwJi38PvMv7DrB5rIfhR5qcMz78bLPiwMM/se8QM/dA5bY4eQAa1Guoyp8YmfLyoRdLQ2jmBbCcalvOQxir4w6XueGJ4XX+CQgUqT9cPwt0MMYvxCuLmf79nzmOV2mKKoV+CLhFNxramtW1ahe3U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789240699; c=relaxed/simple; bh=S3b6wCMSIhA5OZ0fTX5hY3QoKyzxhQ3s8RJHucABZXw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EY3cYyWEQpBpG2zduFFORnmDVLTU+EuCzWfM1m/bNCvEv9sIRQfkrAM4LnBGSuEROJXF10dpYxLTby29vZksZFLNwNZT9qki9JHZKBTkrdrekftCkNLaNDaG0VTNYtCQzkM9pCesI78fYtd+QTyxaEkq4FooLZOOZEqkau7hFMw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=I5QhBUHr; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="I5QhBUHr" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9A3D01F0089D; Sat, 12 Sep 2026 19:18:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789240697; bh=nqfaQq4DYDAwDcS6eX/vnZ8ZZiveWwkFxlbgk1mGGIc=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=I5QhBUHrflz5pYPHYuZafb/qwhmZbipzas1UBJfiSeQQjqAKW6MqLAfgXqwq6x5os ox4OgOWPMeGv+kNoLMKiDq5Y3SarBI5MbqMWxwtBJVEfrLn390keBGKcmymPYs02IX p7KPmpXNZVc0X9iziOf1g4J7Ys8JHAXx2h10LL5jJcfjrQ0pMiYQ9e8gjUyvJCIE09 yFQPrBcr0rPeHoA+Km+rgDofDyn4I5g6h+ueHfU58VDyVWqChFmJVcG0FuzZJMVAvh nz1xjpcigZW/Fp3tIt4VvGMUJTxvCZl5Bm877mGhUU0bFt42Tiy5lxSnxzJUtI3T0B 4PGiDcWU1f4aQ== From: SJ Park To: Cc: SJ Park , Andrew Morton , Brendan Higgins , David Gow , damon@lists.linux.dev, kunit-dev@googlegroups.com, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 7/8] mm/damon/core-kunit: extend damos_commit_filter_for() for wrong input Date: Sat, 12 Sep 2026 12:18:05 -0700 Message-ID: <20260912191807.138502-8-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260912191807.138502-1-sj@kernel.org> References: <20260912191807.138502-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" damos_commit_filter_for() supposes damos_commit_filter() to always succeed with given inputs. damos_commit_filter() could return an error for invalid inputs. Existing callers always pass only valid inputs, but they may pass invalid inputs in future, for test purposes. Extend the function to be able to be used for wrong inputs-caused error testing. Signed-off-by: SJ Park --- mm/damon/tests/core-kunit.h | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/mm/damon/tests/core-kunit.h b/mm/damon/tests/core-kunit.h index a47a5cdf285c8..c9941f3bfb42b 100644 --- a/mm/damon/tests/core-kunit.h +++ b/mm/damon/tests/core-kunit.h @@ -1127,9 +1127,15 @@ static void damos_test_commit_dests(struct kunit *te= st) } =20 static void damos_test_commit_filter_for(struct kunit *test, - struct damos_filter *dst, struct damos_filter *src) + struct damos_filter *dst, struct damos_filter *src, + bool expect_fail) { - damos_commit_filter(dst, src); + int err; + + err =3D damos_commit_filter(dst, src); + KUNIT_EXPECT_EQ(test, err !=3D 0, expect_fail); + if (expect_fail) + return; KUNIT_EXPECT_EQ(test, dst->type, src->type); KUNIT_EXPECT_EQ(test, dst->matching, src->matching); KUNIT_EXPECT_EQ(test, dst->allow, src->allow); @@ -1168,47 +1174,47 @@ static void damos_test_commit_filter(struct kunit *= test) .type =3D DAMOS_FILTER_TYPE_ANON, .matching =3D true, .allow =3D true, - }); + }, false); damos_test_commit_filter_for(test, &dst, &(struct damos_filter){ .type =3D DAMOS_FILTER_TYPE_MEMCG, .matching =3D false, .allow =3D false, .memcg_id =3D 123, - }); + }, false); damos_test_commit_filter_for(test, &dst, &(struct damos_filter){ .type =3D DAMOS_FILTER_TYPE_YOUNG, .matching =3D true, .allow =3D true, - }); + }, false); damos_test_commit_filter_for(test, &dst, &(struct damos_filter){ .type =3D DAMOS_FILTER_TYPE_HUGEPAGE_SIZE, .matching =3D false, .allow =3D false, .sz_range =3D {.min =3D 234, .max =3D 345}, - }); + }, false); damos_test_commit_filter_for(test, &dst, &(struct damos_filter){ .type =3D DAMOS_FILTER_TYPE_UNMAPPED, .matching =3D true, .allow =3D true, - }); + }, false); damos_test_commit_filter_for(test, &dst, &(struct damos_filter){ .type =3D DAMOS_FILTER_TYPE_ADDR, .matching =3D false, .allow =3D false, .addr_range =3D {.start =3D 456, .end =3D 567}, - }); + }, false); damos_test_commit_filter_for(test, &dst, &(struct damos_filter){ .type =3D DAMOS_FILTER_TYPE_TARGET, .matching =3D true, .allow =3D true, .target_idx =3D 6, - }); + }, false); } =20 static void damos_test_help_initailize_scheme(struct damos *scheme) --=20 2.47.3 From nobody Fri Sep 25 12:37:28 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 77DB73839BA; Sat, 12 Sep 2026 19:18:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789240699; cv=none; b=nA5MU7+bT2p8Nw5Z972HACgtXBa7aFckrik9Wqd1LIq2IGQMjtD211BNUEXisa/3oQ8E1crerWlqg/1SvP2xAxnPB38p39kKkULhuuPQeNkGggyh0768GEZ4rSuu7iQnBayxfZ5xBrLXH2XeiqZRthTW5cInxXSiAY5PF/GOv4w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789240699; c=relaxed/simple; bh=zKNBJKJMEE7iDlzCLwTQdJt35qvvUznZGcGFB4z2xBk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nvaxe+JJG6fommzQtldvph4AreOmAMmQAuVAvRozz9e2XcOq0wP1IoBCVRce41dyeWDTWA1btA5P8FsQflTI5Vfpli6NYLSboa3OJztmqaNluV3cyoppYKNj7glGAtZN6PG9cTi/ovTg7HI6PIow2EW+Jnlgga5fAL4v+fJy0Sg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gkYDo3z4; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="gkYDo3z4" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 194621F00893; Sat, 12 Sep 2026 19:18:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789240698; bh=as3OPkNFsYYWKFBQO9tZASdaFQXU9TrMOPenfE/ek3g=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=gkYDo3z4bVAwkbLlvRSugF93EZpKUfMq3gUGH37PieSO6VIDLJYlCn6C0IiGcVIt3 hAAyoIGNJWpMGfCVAIjItVbz1vcOKq+TdYEsXUlD7aTEIcVkCM2iLrgIE7tv4MXNF9 gjkWjd6c40ame6/dA9N1nJ05DPvf5PyToguj2EfbcUxweZ73jtv5d24MVkRD8flkW+ F/krcEHjJtPhkE7/3wlsp/Ymk7ge/iULGRdIAaS7GF6BexM39ZpCxyhbd1e1indNE8 XdA5j6tn6UEtSGR0TpEkXUnl3XQAE+BTpsezXsJBmosazSneAA1IMsiQihEzzNhWPj qcDcUk/EGVgEQ== From: SJ Park To: Cc: SJ Park , Andrew Morton , Brendan Higgins , David Gow , damon@lists.linux.dev, kunit-dev@googlegroups.com, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 8/8] mm/damon/core-kunit: test invalid damos filter commits Date: Sat, 12 Sep 2026 12:18:06 -0700 Message-ID: <20260912191807.138502-9-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260912191807.138502-1-sj@kernel.org> References: <20260912191807.138502-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add test cases for testing the validation of damos filter arguments in commit time. Signed-off-by: SJ Park --- mm/damon/tests/core-kunit.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/mm/damon/tests/core-kunit.h b/mm/damon/tests/core-kunit.h index c9941f3bfb42b..5da84caf4124d 100644 --- a/mm/damon/tests/core-kunit.h +++ b/mm/damon/tests/core-kunit.h @@ -1195,6 +1195,13 @@ static void damos_test_commit_filter(struct kunit *t= est) .allow =3D false, .sz_range =3D {.min =3D 234, .max =3D 345}, }, false); + damos_test_commit_filter_for(test, &dst, + &(struct damos_filter){ + .type =3D DAMOS_FILTER_TYPE_HUGEPAGE_SIZE, + .matching =3D false, + .allow =3D false, + .sz_range =3D {.min =3D 456, .max =3D 123}, + }, true); damos_test_commit_filter_for(test, &dst, &(struct damos_filter){ .type =3D DAMOS_FILTER_TYPE_UNMAPPED, @@ -1208,6 +1215,13 @@ static void damos_test_commit_filter(struct kunit *t= est) .allow =3D false, .addr_range =3D {.start =3D 456, .end =3D 567}, }, false); + damos_test_commit_filter_for(test, &dst, + &(struct damos_filter){ + .type =3D DAMOS_FILTER_TYPE_ADDR, + .matching =3D false, + .allow =3D false, + .addr_range =3D {.start =3D 567, .end =3D 456}, + }, true); damos_test_commit_filter_for(test, &dst, &(struct damos_filter){ .type =3D DAMOS_FILTER_TYPE_TARGET, --=20 2.47.3