From nobody Fri Sep 25 07:59:37 2026 Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) (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 C974E413799 for ; Tue, 15 Sep 2026 09:39:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=124.126.103.232 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789465199; cv=none; b=qVWoikSUSAPiPg03NhK3uMwTshW+sXHPC68DNBkd6yszPzK4uPa242qAPXBAgVWutlRyAhEip5BViJHRSVa65f3ctFA4EQcEzGo8dcazYSrzFvnVNVtVfbc//Is2d1p3NrXEqt/dC/yGtCXb/DaCDrhtm4zvtZjzpXJbWNfUsfQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789465199; c=relaxed/simple; bh=k8EFkuSWzc2LxTFmLBSB8FcCt+4CxXv0k9x0sc2P9us=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=tegPc/aOSseopdyRCGsc/b/Gd1NgxEic1kc7nByEc3jzukoA1cIxH7/IJ+KKmepeW7/n4mn0qCikhlunVigVYFQQiVjZG5ag7h1S62X3KLIqDtQnjOgxWp4UyvzxncxbEIuRk1aRTHseumV4Juc4cRSsfxW+CVgyzyPk6GWfl+I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn; spf=pass smtp.mailfrom=kylinos.cn; arc=none smtp.client-ip=124.126.103.232 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinos.cn X-UUID: 6239f3d8b0e911f19a56ed5b684f684d-20260915 X-CTIC-Tags: HR_CC_COUNT, HR_CC_DOMAIN_COUNT, HR_CC_NAME, HR_CC_NO_NAME, HR_CTE_8B HR_CTT_MISS, HR_DATE_H, HR_DATE_WKD, HR_DATE_ZONE, HR_FROM_NAME HR_SJ_DIGIT_LEN, HR_SJ_LANG, HR_SJ_LEN, HR_SJ_LETTER, HR_SJ_NOR_SYM HR_SJ_PHRASE, HR_SJ_PHRASE_LEN, HR_SJ_WS, HR_TO_COUNT, HR_TO_DOMAIN_COUNT HR_TO_NO_NAME, IP_TRUSTED, SRC_TRUSTED, DN_TRUSTED, SA_TRUSTED SA_EXISTED, SN_EXISTED, SPF_NOPASS, DKIM_NOPASS, DMARC_NOPASS CIE_BAD, CIE_GOOD, CIE_GOOD_SPF, GTI_FG_BS, GTI_RG_INFO GTI_C_BU, AMN_GOOD, ABX_MISS_RDNS X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.19,REQID:da4f0715-e686-4745-b629-eb1e25057181,IP:10, URL:0,TC:0,Content:0,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTIO N:release,TS:35 X-CID-INFO: VERSION:1.3.19,REQID:da4f0715-e686-4745-b629-eb1e25057181,IP:10,UR L:0,TC:0,Content:0,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION: release,TS:35 X-CID-META: VersionHash:7db8b62,CLOUDID:7b889e1e0295ac8b8f5b76b6da3ca3b3,BulkI D:260915173949X42TEFZR,BulkQuantity:0,SF:17|19|38|66|78|102|127|136|850|86 5|898,TC:nil,Content:0|15|50|99,EDM:5|-100,IP:-2,URL:0,File:nil,RT:nil,Bul k:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0 ,BRE:0,ARC:0 X-CID-BVR: 2,SSN|SDN X-CID-BAS: 2,SSN|SDN,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR,TF_CID_SPAM_FAS,TF_CID_SPAM_FSD X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: 6239f3d8b0e911f19a56ed5b684f684d-20260915 X-User: wangxuewen@kylinos.cn Received: from localhost.localdomain [(223.70.159.239)] by mailgw.kylinos.cn (envelope-from ) (Generic MTA with TLSv1.3 TLS_AES_256_GCM_SHA384 256/256) with ESMTP id 379612814; Tue, 15 Sep 2026 17:39:44 +0800 From: Xuewen Wang To: sj@kernel.org, akpm@linux-foundation.org Cc: damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Xuewen Wang Subject: [PATCH v1] mm/damon/sysfs: propagate damon_call() error in turn_damon_on Date: Tue, 15 Sep 2026 17:39:28 +0800 Message-Id: <20260915093928.3389096-1-wangxuewen@kylinos.cn> X-Mailer: git-send-email 2.25.1 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_turn_damon_on() ignored the return value of damon_call() for the repeat call control registration and always returned the stale result of damon_start() (0 at that point). When damon_call() fails, e.g., the kdamond is already exiting, the user still gets success from the state file write while monitoring is not actually on. Save and return the damon_call() result instead. No rollback of damon_start() is needed since a failed damon_call() guarantees the context is stopped. Signed-off-by: Xuewen Wang Reviewed-by: SJ Park --- mm/damon/sysfs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/damon/sysfs.c b/mm/damon/sysfs.c index e3858ffab4b2..beb4bdc74460 100644 --- a/mm/damon/sysfs.c +++ b/mm/damon/sysfs.c @@ -2280,7 +2280,8 @@ static int damon_sysfs_turn_damon_on(struct damon_sys= fs_kdamond *kdamond) repeat_call_control->data =3D kdamond; repeat_call_control->repeat =3D true; repeat_call_control->dealloc_on_cancel =3D true; - if (damon_call(ctx, repeat_call_control)) + err =3D damon_call(ctx, repeat_call_control); + if (err) kfree(repeat_call_control); return err; } --=20 2.25.1