From nobody Mon May 25 09:57:53 2026 Received: from esa12.hc1455-7.c3s2.iphmx.com (esa12.hc1455-7.c3s2.iphmx.com [139.138.37.100]) (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 B3DE8219E8 for ; Mon, 18 May 2026 03:33:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=139.138.37.100 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779075198; cv=none; b=Ma7cnDcCes96vbNtxB4zZkpb2jcDOedpU/UT0lCMmI5TNKj3mp4Uc2/1QeoCQ7/GPqsuMGvzKGX7kqWyp3SPghYPp7+WSs79YWPKEkCcN2fEO9sxQO5ELzt2JT9Lmc/c0iqt0CGEdTLTK/H9xx6IMFuWMyrDdg1FziE7sYWe58E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779075198; c=relaxed/simple; bh=7DRxMKyUDjg6Y5vlH9EXZ8MiPPZtTDDCvYyYivKrGak=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=c59mjiW7K04LzDI2XC3LR+ZdtfZ+HC8znemR5dxo4evDiihOVxxa1XrifOKdM6CY9D3D/D344f5jmOQTq9uE467ETYHL6Zr/DvUtQJc0SStk3I47e7lW7lFCv166y/3v0iodwmSzBRrwUcUTdiUZolFEaKI5W0XMaGAihj9/Kao= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=jodruT8A; arc=none smtp.client-ip=139.138.37.100 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="jodruT8A" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1779075196; x=1810611196; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=7DRxMKyUDjg6Y5vlH9EXZ8MiPPZtTDDCvYyYivKrGak=; b=jodruT8ATWRvbIKkNa8IPlgNhpbowKc7moheRtMrH2ChJgzxRWlXVXke yn6bWEwV3/8c8IVzVbSCa3zyIywEg8P8HZOfA8BVxWd5QLiYvEN4sLm7t kYiCyZsEQVm56BozN/PBN9wax3533PAGwdXOg9Geolqg4G+wOhzDMwu+e zNeb8yvzuhfYEnXlMlOLaifCXB7rJHhxk7KeH6Gga9D50yNKiC9Z9FdYy dGjrjNuWuL/RV182ThOndr9en7VB5mgAn7cDXu6ZGOxgSQeHKBJ+9XCjj 8cFAT47tuKcsyMYwcCBcza/YbY1hqvbpl9SXb/Bhjf2ZflTLCvABeVN5d A==; X-CSE-ConnectionGUID: YkwHOGF4Q6u3RW4NCzxt0w== X-CSE-MsgGUID: l+e/0UKHRBmE/xmMI5SQaA== X-IronPort-AV: E=McAfee;i="6800,10657,11789"; a="218604397" X-IronPort-AV: E=Sophos;i="6.23,241,1770562800"; d="scan'208";a="218604397" Received: from gmgwuk01.global.fujitsu.com ([172.187.114.235]) by esa12.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 May 2026 12:32:05 +0900 Received: from az2uksmgm4.o.css.fujitsu.com (unknown [10.151.22.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by gmgwuk01.global.fujitsu.com (Postfix) with ESMTPS id EFE03C015B6 for ; Mon, 18 May 2026 03:32:05 +0000 (UTC) Received: from az2nlsmom4.fujitsu.com (az2nlsmom4.o.css.fujitsu.com [10.150.26.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by az2uksmgm4.o.css.fujitsu.com (Postfix) with ESMTPS id A739E14003F6 for ; Mon, 18 May 2026 03:32:05 +0000 (UTC) Received: from sm-x86-amd03.ssoft.mng.com (sm-x86-stp01.soft.fujitsu.com [10.124.178.20]) by az2nlsmom4.fujitsu.com (Postfix) with ESMTP id 7190D2000237; Mon, 18 May 2026 03:32:01 +0000 (UTC) From: Kohei Enju To: Catalin Marinas , Will Deacon Cc: Sami Mujawar , Gavin Shan , Steven Price , Suzuki K Poulose , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Kohei Enju Subject: [PATCH v1] virt: arm-cca-guest: use raw variant of smp_processor_id() in arm_cca_report_new() Date: Mon, 18 May 2026 12:31:31 +0900 Message-ID: <20260518033157.1865498-1-enju.kohei@fujitsu.com> X-Mailer: git-send-email 2.47.3 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" With CONFIG_DEBUG_PREEMPT=3Dy, smp_processor_id() becomes an alias of debug_smp_processor_id(). This debug function complains when certain conditions that ensure CPU ID stability are not met, specifically when it's called from a preemptible context. In arm_cca_report_new(), which runs in a preemptible context, smp_processor_id() triggers a splat [0] due to this. However, the CPU ID obtained here is used as the target CPU for smp_call_function_single() to designate a specific CPU for subsequent operations, not to assert that the current thread will continue to execute on the same CPU. Therefore, snapshotting the CPU ID itself is correct, and thus there's no actual harm except for the splat. Use raw_smp_processor_id() instead, to directly retrieve the current CPU ID without the debug checks, avoiding the unnecessary warning message while preserving the correct functional behavior. [0] BUG: using smp_processor_id() in preemptible [00000000] code: cca-workload= -at/134 caller is debug_smp_processor_id+0x20/0x2c CPU: 0 UID: 0 PID: 134 Comm: cca-workload-at Not tainted 7.0.0-rc1-gc74a64= d12073 #1 PREEMPT Hardware name: linux,dummy-virt (DT) Call trace: [...] check_preemption_disabled+0xf8/0x100 debug_smp_processor_id+0x20/0x2c arm_cca_report_new+0x54/0x230 tsm_report_read+0x184/0x260 tsm_report_outblob_read+0x18/0x38 configfs_bin_read_iter+0xf4/0x1dc vfs_read+0x230/0x31c [...] Fixes: 7999edc484ca ("virt: arm-cca-guest: TSM_REPORT support for realms") Signed-off-by: Kohei Enju Reviewed-by: Catalin Marinas Reviewed-by: Gavin Shan Reviewed-by: Suzuki K Poulose --- drivers/virt/coco/arm-cca-guest/arm-cca-guest.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/virt/coco/arm-cca-guest/arm-cca-guest.c b/drivers/virt= /coco/arm-cca-guest/arm-cca-guest.c index 0c9ea24a200c..2d450caee3e4 100644 --- a/drivers/virt/coco/arm-cca-guest/arm-cca-guest.c +++ b/drivers/virt/coco/arm-cca-guest/arm-cca-guest.c @@ -108,7 +108,7 @@ static int arm_cca_report_new(struct tsm_report *report= , void *data) * allocate outblob based on the returned value from the 'init' * call and that cannot be done in an atomic context. */ - cpu =3D smp_processor_id(); + cpu =3D raw_smp_processor_id(); =20 info.challenge =3D desc->inblob; info.challenge_size =3D desc->inblob_len; --=20 2.47.3