From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=100.103.45.18 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1794049469; b=yasRqJI3dVFfk0MdXuK6llEd8u3YAU4bi0LVZZSGGkq4ycCWn5LBfmQcqOnwfBSyjZkc wdzS2Adr+AtZnKZzbum7NC0RbUt2jJQ8aRLsqt1dL+F95t0lV3RAvCqD0v6IBNBKOtrKT tXeohMkRpxDcI9anvXe+wyCqeRxHXNj9RTayxXSojMt/rZWI2NP5ks+DsHkZGE68R7vjq +8Isn4L63uyIWWYRZ5uboLW+aVUVk3ut7mi3uCK/mDc/J9NUI2oQIxV4Pgi9u2M+uYz3s ua4HZK/nNrfzQFTCuHV71kne+wr8cyAhIeRtYDRplvM7ouWO850gZMaJpwWBd34py4A== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1794049469; h=Received:DKIM-Signature:From:To:Cc:Subject:Date:Message-ID:X-Mailer: MIME-Version:Content-Type:Content-Transfer-Encoding; bh=kM/RG275LJbZgN8yxNZGKn7kT4iYFB7cbCQmRijW834=; b=DkY6k+S2IUsaF6q3HAKtkPClivnNXnMVtdc7aIGlBVeD6rZ5yp+MxYIPgKC6l66+wB+S 35rAo0epaVzVdWuChpsyujpU8aXlabENzQhaixEwW2MXwzYyJkRBm4STk3VFhhcf1enhd WfKsWXg2nqxhy+VpbvvoLh1u8z14R2It7h1W177ZwrjjmMODX3syBkZzxcbRjRxDnCm2k cILWAFoeUEo3T6vveUtlgYtqPHRwmWpNYX1UQKW21tQFCrX6CZXP8foPjzVfO9q2+fZK6 Yu+wu+Kqgp86xnHGlGKHlChKoZ1GQUwkQw1hJVvF8shqPBWKmVY/KOFA3eWdd+0ROdQ== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b="IS4J/bPo"; arc=none smtp.remote-ip=100.103.45.18 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 33A9B606A32C for ; Sat, 7 Nov 2026 11:04:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=IS4J/bPo Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4A3761F0089F; Sat, 7 Nov 2026 11:04:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1794049469; bh=kM/RG275LJbZgN8yxNZGKn7kT4iYFB7cbCQmRijW834=; h=From:To:Cc:Subject:Date; b=IS4J/bPoqpohava4b09Mfewi2bPiTMOamIvNMC7Goj6kkRerMCgXuNIND+468QWA4 QHYNxzjVD0GmwspSRDW8o3f6yVhmDFjWEFRrLFm0PT4sToUDwI1W9AsYAZuh8Ckj5p Tm0y9vB9HPz7qb7xAJAnTlxsHSo8iOMbIJeuvomDrtABE4SJJ1Oj+i1aI8q03HENdv 1lPDmbGr6KO5TI8HGxpmsZvPvfx7O0PpRn1PxnUUV+Yg2s++IP7u3YuZo2EEwnM43g 5FjorW5AN3AQ5siJI2d9HcT8dtt+gOgjTBZz6tE2AlPEysqr3nLn/3lR6LWaXDO2nW crBPjl+WSQseQ== From: Sasha Levin To: sj@kernel.org, akpm@linux-foundation.org, kunwu.chan@gmail.com, brendan.higgins@linux.dev, davidgow@davidgow.net, usamaarif642@gmail.com Cc: stable@vger.kernel.org Subject: FAILED: patch "[PATCH] mm/damon/core: return an error from damos_commit_filter_arg()" failed to apply to 5.15-stable tree Date: Sat, 7 Nov 2026 06:04:26 -0500 Message-ID: <20261107060426-failed-5.15-6f276422aded@kernel.org> X-Mailer: git-send-email 2.53.0 X-Mailing-List: stable@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The patch below does not apply to the 5.15-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to . To reproduce the conflict and resubmit, you may use the following commands: git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.15.y git checkout FETCH_HEAD git cherry-pick -x 6f276422aded370174edea69549ebe6b1683ffcc # git commit -s git send-email --to '' --in-reply-to '20261107060426-failed-5.15-6f276422aded@kernel.org' --subject-prefix 'PATCH 5.15.y' 'HEAD^..' Thanks, Sasha ------------------ original commit in Linus's tree ------------------ >From 6f276422aded370174edea69549ebe6b1683ffcc Mon Sep 17 00:00:00 2001 From: SJ Park Date: Mon, 14 Sep 2026 07:23:20 -0700 Subject: [PATCH] mm/damon/core: return an error from damos_commit_filter_arg() 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. Link: https://lore.kernel.org/20260914142327.92510-4-sj@kernel.org Signed-off-by: SJ Park Signed-off-by: Andrew Morton Reviewed-by: Kunwu Chan Cc: Brendan Higgins Cc: David Gow Cc: Usama Arif Cc: --- mm/damon/core.c | 41 ++++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/mm/damon/core.c b/mm/damon/core.c index 38383ced3dd6c..1932a50252079 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; } -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; } -static void damos_commit_filter( +static int damos_commit_filter( struct damos_filter *dst, struct damos_filter *src) { dst->type = src->type; dst->matching = src->matching; dst->allow = src->allow; - damos_commit_filter_arg(dst, src); + return damos_commit_filter_arg(dst, src); } static int damos_commit_core_filters(struct damos *dst, struct damos *src) { struct damos_filter *dst_filter, *next, *src_filter, *new_filter; - int i = 0, j = 0; + int i = 0, j = 0, err; damos_for_each_core_filter_safe(dst_filter, next, dst) { src_filter = damos_nth_core_filter(i++, src); - if (src_filter) - damos_commit_filter(dst_filter, src_filter); - else + if (src_filter) { + err = damos_commit_filter(dst_filter, src_filter); + if (err) + return err; + } else { damos_destroy_filter(dst_filter); + } } damos_for_each_core_filter_safe(src_filter, next, src) { @@ -1373,7 +1377,11 @@ static int damos_commit_core_filters(struct damos *dst, struct damos *src) src_filter->allow); if (!new_filter) return -ENOMEM; - damos_commit_filter_arg(new_filter, src_filter); + err = damos_commit_filter_arg(new_filter, src_filter); + if (err) { + damos_destroy_filter(new_filter); + return err; + } damos_add_filter(dst, new_filter); } return 0; @@ -1382,14 +1390,17 @@ static int damos_commit_core_filters(struct damos *dst, struct damos *src) static int damos_commit_ops_filters(struct damos *dst, struct damos *src) { struct damos_filter *dst_filter, *next, *src_filter, *new_filter; - int i = 0, j = 0; + int i = 0, j = 0, err; damos_for_each_ops_filter_safe(dst_filter, next, dst) { src_filter = damos_nth_ops_filter(i++, src); - if (src_filter) - damos_commit_filter(dst_filter, src_filter); - else + if (src_filter) { + err = damos_commit_filter(dst_filter, src_filter); + if (err) + return err; + } else { damos_destroy_filter(dst_filter); + } } damos_for_each_ops_filter_safe(src_filter, next, src) { @@ -1401,7 +1412,11 @@ static int damos_commit_ops_filters(struct damos *dst, struct damos *src) src_filter->allow); if (!new_filter) return -ENOMEM; - damos_commit_filter_arg(new_filter, src_filter); + err = damos_commit_filter_arg(new_filter, src_filter); + if (err) { + damos_destroy_filter(new_filter); + return err; + } damos_add_filter(dst, new_filter); } return 0; -- 2.53.0