From nobody Fri Jul 24 21:53:57 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 76F5035E1A5 for ; Fri, 24 Jul 2026 06:43:57 +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=1784875441; cv=none; b=RtFhXncK5DjOiCZLuwo/3rAWN6p/gybYMBbWX5+VQt0VYgMfw/n72RWTdLt8vOrmUy38Oh67ZFQmj/OsZlHjy/agdWp8wqDUzlGe2V0J0E3K6/kw8SLlbzGjZ26mUrTlLVEZAbdV64jRVTcoKnVJMCOpRaKuVgM4Pson1+gPEcc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784875441; c=relaxed/simple; bh=vuxvQ+oknqPO8FxrrKFcTgBK9YxH0wxzveiKcPE6cVs=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=DTHFCUMxXCOJtfWXlnipfxwCP3/tJdZ2PMhXCy37TIVBDRcDXfbA6Agz+NNb6GDV7k2mOfwj3TCFeydeKYl+3FzVMjSwJpQKv2Zknfy5vKfs5bBxbV4ZKAR9Lo0+uawflgLKg+ZmeBI3+Hi7MFaefua9SHqfe3XZFUByZ70BEkY= 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: 08186bd8872b11f1aa26b74ffac11d73-20260724 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.12,REQID:ef21e5e6-9b74-4a55-af3f-0237518c86a9,IP:0,U RL:0,TC:0,Content:-5,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION :release,TS:-5 X-CID-META: VersionHash:e7bac3a,CLOUDID:75935e37cc42a9d55808542a3ac3b1d0,BulkI D:nil,BulkQuantity:0,Recheck:0,SF:102|136|850|865|898,TC:nil,Content:0|15| 50,EDM:-3,IP:nil,URL:0,File:nil,RT:nil,Bulk: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 X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: 08186bd8872b11f1aa26b74ffac11d73-20260724 X-User: lilinmao@kylinos.cn Received: from localhost.localdomain [(10.44.16.150)] by mailgw.kylinos.cn (envelope-from ) (Generic MTA with TLSv1.3 TLS_AES_256_GCM_SHA384 256/256) with ESMTP id 1917070976; Fri, 24 Jul 2026 14:43:51 +0800 From: Linmao Li To: Suzuki K Poulose Cc: Mike Leach , James Clark , Leo Yan , Alexander Shishkin , coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Linmao Li Subject: [PATCH] coresight: Handle errors in KUnit test setup Date: Fri, 24 Jul 2026 14:43:46 +0800 Message-Id: <20260724064346.2440065-1-lilinmao@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" kunit_device_register() returns an error pointer when device setup fails, and the devm allocations can return NULL. test_default_sink() currently uses all three results unconditionally, so setup failures are reported as unrelated crashes. Assert that device registration and both allocations succeeded before constructing the test topology. Fatal KUnit assertions stop the test while the managed resources are released during cleanup. Fixes: b104a941a94e ("coresight: Add a KUnit test for coresight_find_defaul= t_sink()") Signed-off-by: Linmao Li --- .../coresight/coresight-kunit-tests.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/drivers/hwtracing/coresight/coresight-kunit-tests.c b/drivers/= hwtracing/coresight/coresight-kunit-tests.c index c8f361767c45..a4e55bc9dc4c 100644 --- a/drivers/hwtracing/coresight/coresight-kunit-tests.c +++ b/drivers/hwtracing/coresight/coresight-kunit-tests.c @@ -6,14 +6,18 @@ =20 #include "coresight-priv.h" =20 -static struct coresight_device *coresight_test_device(struct device *dev) +static struct coresight_device *coresight_test_device(struct kunit *test, + struct device *dev) { struct coresight_device *csdev =3D devm_kcalloc(dev, 1, sizeof(struct coresight_device), GFP_KERNEL); + KUNIT_ASSERT_NOT_NULL(test, csdev); + csdev->pdata =3D devm_kcalloc(dev, 1, sizeof(struct coresight_platform_data), GFP_KERNEL); + KUNIT_ASSERT_NOT_NULL(test, csdev->pdata); return csdev; } =20 @@ -25,12 +29,16 @@ static void test_default_sink(struct kunit *test) * | default */ struct device *dev =3D kunit_device_register(test, "coresight_kunit"); - struct coresight_device *src =3D coresight_test_device(dev), - *etf =3D coresight_test_device(dev), - *etr =3D coresight_test_device(dev), - *catu =3D coresight_test_device(dev); + struct coresight_device *src, *etf, *etr, *catu; struct coresight_connection conn =3D {}; =20 + KUNIT_ASSERT_NOT_ERR_OR_NULL(test, dev); + + src =3D coresight_test_device(test, dev); + etf =3D coresight_test_device(test, dev); + etr =3D coresight_test_device(test, dev); + catu =3D coresight_test_device(test, dev); + src->type =3D CORESIGHT_DEV_TYPE_SOURCE; /* * Don't use CORESIGHT_DEV_SUBTYPE_SOURCE_PROC, that would always return --=20 2.25.1