From nobody Fri Oct 3 16:44:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1756341297; cv=pass; d=zohomail.com; s=zohoarc; b=koc5ysrsbA5TPF0SjNF1DQC2tJbFALvGQ4DJPTv5b1CNvWfZbk0+hMWb7n2uUd6qHE24oDAGvsP9gBHP4DYOvXOaomeAnlzmF0qjimCV+QZ60PXjxN/OaOZFU6bhj3SNNwlLPO7E8BY57owg1Jeyvvl3unwQ1A3i1VeB4tI1hsU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756341297; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=NkpL+bA00dMgKT7xrwZLxxLo891ByJ0bYLULdHYLwb0=; b=EUYgYrZgTa5DARjNrIy9pI2NZOaSl2Um2rVySkessBhwdJQlS3l1PzENtSl90ly9btAaYlfzeLKbRUe9KC+tm1fNf0pq6DbmmiRzYAdFAWqIPLd5BymvJcQHk0KxWGuBrVE8NGSALY7ZlG3101Cbn4Gfx+WpcLiomkIZgElox0g= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1756341297176658.4452705857431; Wed, 27 Aug 2025 17:34:57 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1097183.1451623 (Exim 4.92) (envelope-from ) id 1urQbF-0000kV-NN; Thu, 28 Aug 2025 00:34:45 +0000 Received: by outflank-mailman (output) from mailman id 1097183.1451623; Thu, 28 Aug 2025 00:34:45 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1urQbF-0000jO-HX; Thu, 28 Aug 2025 00:34:45 +0000 Received: by outflank-mailman (input) for mailman id 1097183; Thu, 28 Aug 2025 00:34:44 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1urQbE-0000Oa-P0 for xen-devel@lists.xenproject.org; Thu, 28 Aug 2025 00:34:44 +0000 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2060b.outbound.protection.outlook.com [2a01:111:f403:2413::60b]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id c980addc-83a6-11f0-ae26-e363de0e7a9e; Thu, 28 Aug 2025 02:34:43 +0200 (CEST) Received: from CH3P221CA0017.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:1e7::16) by PH0PR12MB7981.namprd12.prod.outlook.com (2603:10b6:510:26c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9073.13; Thu, 28 Aug 2025 00:34:35 +0000 Received: from CH2PEPF00000143.namprd02.prod.outlook.com (2603:10b6:610:1e7:cafe::7d) by CH3P221CA0017.outlook.office365.com (2603:10b6:610:1e7::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9073.13 via Frontend Transport; Thu, 28 Aug 2025 00:34:35 +0000 Received: from SATLEXMB03.amd.com (165.204.84.17) by CH2PEPF00000143.mail.protection.outlook.com (10.167.244.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.9052.8 via Frontend Transport; Thu, 28 Aug 2025 00:34:34 +0000 Received: from Satlexmb09.amd.com (10.181.42.218) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 27 Aug 2025 19:34:31 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by satlexmb09.amd.com (10.181.42.218) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.1748.10; Wed, 27 Aug 2025 17:34:31 -0700 Received: from amd-BIRMANPLUS.mshome.net (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Wed, 27 Aug 2025 19:34:30 -0500 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: c980addc-83a6-11f0-ae26-e363de0e7a9e ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OLaKtVP7XF4mQE29CjvSkeTwZTRV00N2FPeSN4Zk1LWqsyWT9Z6APFEjf2dtPI+TWSLjaMa8mqMEZbUZJn1o+OQTQETviTK/thuqV4Ya07nM5Yp01ifjlK0j47z6KUdEjmfex7ntZk3ztuyPt+3l8YNs6Vr/54FSWK3mghf37A3vwiU48dbBwDWqYqIfewuyJfzO3B7ZqCsKE7Sa+oV+zXjE/nizpVnhRu/A/plnPedmvoOabMAkGdR9Jqqi9/WHsfy7H9PYSe9HD41G3ksiRGxc3/XWapFJuvM3YgObsA/6C/70zh7+oOEwYKM2g+pbssGMRlyIzeniIEOiY+827w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=NkpL+bA00dMgKT7xrwZLxxLo891ByJ0bYLULdHYLwb0=; b=hC2Emc2p7rPrxdliq/1zLUqYyZxg2t9s7RJYNWRJe1IoAHXTsGznc8RmJ79lZDXF7reapyNJfJWdpx/ZtNfZOKvacSPoetH5CyP2PlXfQA9kQfIJcVqEpZ6R3Zh8FPO3fPei1CiqzRNCv0ZzGX+hwmBc5H5kwzwEocPI/xwK5p1ckKVmwSeTzoHCJi6wAuR1cfvDxOLqALCuDukdV9HtfN4fgoNJzoVm4Qi5xWXg2x3Y2SYlR6sJgWb/vLsFwGryI7XILHDqC2DT3Q4lF1TTWC5G8rWsJ8fSPjUYbXwnLWlptY1BwZbz4LY6S32j/knvAKL0BOTbhIt3TKMtocH1Rw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NkpL+bA00dMgKT7xrwZLxxLo891ByJ0bYLULdHYLwb0=; b=hctcPPFZtrcfwWxB+XiCnAeV0qog/4ndjUEjmkTtcZoA60vMD31pCsVgSrCinkPYuvFs2Dve5U7VrkDPjXKdxQiMUNbcn3qPj7LHNXzQup1fynptdw5rjOtUxTUAfv6XUYoymf9nT2ZaMZkIgW1XgN7MkJQ7DLQxh7Wiu/fpQyA= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C From: Jason Andryuk To: Juergen Gross , Stefano Stabellini , Oleksandr Tyshchenko , Konrad Rzeszutek Wilk , Olaf Hering CC: Jason Andryuk , , "Jan Beulich" , , Subject: [PATCH v3 1/3] xen/events: Cleanup find_virq() return codes Date: Wed, 27 Aug 2025 20:36:01 -0400 Message-ID: <20250828003604.8949-2-jason.andryuk@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250828003604.8949-1-jason.andryuk@amd.com> References: <20250828003604.8949-1-jason.andryuk@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PEPF00000143:EE_|PH0PR12MB7981:EE_ X-MS-Office365-Filtering-Correlation-Id: 3b1e720b-9986-4dd7-0506-08dde5caa9a8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?1t93Q+90NaHdIU7KpNaVO3ljLm34OvjZ2gNJi0lifo0Yiid65ksAKnaEy2Uc?= =?us-ascii?Q?zDXVwMZP8bkpnlKyBMhxtlD3UnvlKu1Q9Edhs6eCJ0ZJsNYf5CP1CGvN8jqz?= =?us-ascii?Q?jokpq2TR3qgr9+hqOfHrPzqrhH2cbxXDVSnwySH4QmGzdQpMcQO9zPgI+0I4?= =?us-ascii?Q?6IxDQ/w/9I8ibqZaykU1QiEFDKp9uNAixAfpclIR/eNHjVtsBhAFhgxTNidN?= =?us-ascii?Q?7BpfvFmTEx06kZtwlOA17mEov30n4lCSaoy759rwmOI96N2HiYkTCFwB/Mhg?= =?us-ascii?Q?f3kF/IgDItAQo6ML+7ZyGLxlrwU02VsljE2HjSW+J7yv6C7l9lsY+V3RNWrr?= =?us-ascii?Q?nBz1U3m4ak1rE5pztOocJesJdiwndZmkSwLam/JY+ySp69LofwJuTYhM+WpE?= =?us-ascii?Q?bw4QwAxhc0TNu6p/5wZNl+BNV1aeHg9SWcN/Mqy6i9zyBK9jI42Qe4eCkB7C?= =?us-ascii?Q?1Abp2h3h7PrjPGFOXdCCaJ4d9neg4e5o3eGpind8YWUKTu6YRW3zXhfMX9+o?= =?us-ascii?Q?RfmpXVNVtRTr9fOnBjrf/uSetLksifGUVW4r1XEA43QMYjr7JQ0CoKFjRXDB?= =?us-ascii?Q?OHbr0dWMi8F2pkcBqu6LAg8F7yr7IZUaxTUhA9CvdzEugOt01pNIwogG1KXk?= =?us-ascii?Q?qox8XJveYewNR7mWf1Xeypo0llbL9OQCWYBom6RjA9tXMHE4pXHyeCZ9h31a?= =?us-ascii?Q?YgFrMeJHKLYqjSbqgfKaZr/NQ8jj6ZmdWcGNTPvT8fw1ja1AoQon5pg7tuQG?= =?us-ascii?Q?rZtj8ZD9XjLVK6zu1EnvkclZQyArRUhk08UUoqOtM7w2pDapDX8nlsaOEdQt?= =?us-ascii?Q?MKEml6V/GUKPkv3KxoyXglCwvaajMsFJdhx9hjq3CZu8fCRz4fIhk3ezP4ps?= =?us-ascii?Q?icPm0i5WHyiZ8pD45s+ZUioBgwKyijpc1oFPFXygIDuqDULAgs4BYmqh8It4?= =?us-ascii?Q?VksxPT+siDBzobaAQpqx+GbYTAOIKbfzgzJDpyCO0nrOePNYz2piDWk1Nm5u?= =?us-ascii?Q?5qxUG5sUogqOyDlf8zwtzeTX6RgCzbwhX1Mmtxe2I3/Og+P6legNsJ7edf93?= =?us-ascii?Q?ieuqigfFLU4hRRfA0mss0mec3NxJ6NKvPyhS8ZmW5+ipVWdVhleNdjVlnptY?= =?us-ascii?Q?fNEQ91ESnU6A3xa96S6OZUDLkLTIsDQUd5svsaJN+tp/MJNBb7QYCzg4zFZk?= =?us-ascii?Q?kWiit25mvW2HvF7q1VWdFS5O/AV1qB8GFbfBV85s05uMKvdEr2UbGJqCTObi?= =?us-ascii?Q?flM1+hCiYlLYhb9Q3NxQsOOaMnFhTC1gbQoSW1KUcZQrT5LoRZX6TJ11vnFC?= =?us-ascii?Q?ndtXWDesRpAQrb8QtNgq06vAMCFqX9lNO8l/Of0hIs3knM1Mqv8kCQBSG++9?= =?us-ascii?Q?ALhc19LGrThz6qEktI4t5iAG07MwtOnBiD83aXBSrFOZPZiB71YJxJNIsLyH?= =?us-ascii?Q?PSxBCupvzBVTq3k5E9NjLEKbnre/dxj3sHhjJILzpGKTcWudE6GoNQBT7zz1?= =?us-ascii?Q?Yx0IWxocg+ytWMspz0ZE8cVFj72/G+6wt4CK?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014)(7053199007);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2025 00:34:34.8450 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3b1e720b-9986-4dd7-0506-08dde5caa9a8 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH2PEPF00000143.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7981 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1756341298365116600 Content-Type: text/plain; charset="utf-8" rc is overwritten by the evtchn_status hypercall in each iteration, so the return value will be whatever the last iteration is. This could incorrectly return success even if the event channel was not found. Change to an explicit -ENOENT for an un-found virq and return 0 on a successful match. Fixes: 62cc5fc7b2e0 ("xen/pv-on-hvm kexec: rebind virqs to existing eventch= annel ports") Cc: stable@vger.kernel.org Signed-off-by: Jason Andryuk Reviewed-by: Jan Beulich Reviewed-by: Juergen Gross --- v3: Reduce rc's scope Add R-b: Jan Mention false success in commit message Add Fixes Cc: stable Add R-b: Juergen v2: New --- drivers/xen/events/events_base.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_b= ase.c index 41309d38f78c..374231d84e4f 100644 --- a/drivers/xen/events/events_base.c +++ b/drivers/xen/events/events_base.c @@ -1318,10 +1318,11 @@ static int find_virq(unsigned int virq, unsigned in= t cpu, evtchn_port_t *evtchn) { struct evtchn_status status; evtchn_port_t port; - int rc =3D -ENOENT; =20 memset(&status, 0, sizeof(status)); for (port =3D 0; port < xen_evtchn_max_channels(); port++) { + int rc; + status.dom =3D DOMID_SELF; status.port =3D port; rc =3D HYPERVISOR_event_channel_op(EVTCHNOP_status, &status); @@ -1331,10 +1332,10 @@ static int find_virq(unsigned int virq, unsigned in= t cpu, evtchn_port_t *evtchn) continue; if (status.u.virq =3D=3D virq && status.vcpu =3D=3D xen_vcpu_nr(cpu)) { *evtchn =3D port; - break; + return 0; } } - return rc; + return -ENOENT; } =20 /** --=20 2.34.1 From nobody Fri Oct 3 16:44:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1756341297; cv=pass; d=zohomail.com; s=zohoarc; b=gSikA1aBTTU5LDr7uaWAOkVe2hrP5lr3cuGVNyCip2+j26xS23o4H/L1W1lj1ETFSf0iHZ5QnUeu8t9LaDE6KJYHIEtppq96E+aQmnd83v054PGTVQ5vWVHgsBIZDT+KmgtuT05sCZVt7vxCVoSxBujdXqZyytYz6OPxFYHGMlw= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756341297; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=oACrg1+uNF45UlAHavD66G1T9UliU9PiWyBkteY+IDo=; b=CEmJHuB1u9ijrKjEtGg8Qw44JIB72DUKmIrZipViSJ8TOXl86ZbLmcBzu7iw2TbBNShtvjJi5bMRL3ld68mZkvdwQXqHtjT+94q41iAxCufqUopl21tam6qoH4ssxTlM/1LTFJYGJt+vNoKrccT96/SYQiSHuDuBlD3FKhFkxH0= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1756341297687950.6937519982604; Wed, 27 Aug 2025 17:34:57 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1097182.1451617 (Exim 4.92) (envelope-from ) id 1urQbF-0000hF-Cc; Thu, 28 Aug 2025 00:34:45 +0000 Received: by outflank-mailman (output) from mailman id 1097182.1451617; Thu, 28 Aug 2025 00:34:45 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1urQbF-0000h8-9g; Thu, 28 Aug 2025 00:34:45 +0000 Received: by outflank-mailman (input) for mailman id 1097182; Thu, 28 Aug 2025 00:34:43 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1urQbD-0000Ol-S2 for xen-devel@lists.xenproject.org; Thu, 28 Aug 2025 00:34:43 +0000 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2061f.outbound.protection.outlook.com [2a01:111:f403:2418::61f]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id c915afd8-83a6-11f0-aeb2-fb57b961d000; Thu, 28 Aug 2025 02:34:42 +0200 (CEST) Received: from CH3P221CA0028.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:1e7::13) by MW5PR12MB5598.namprd12.prod.outlook.com (2603:10b6:303:193::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.21; Thu, 28 Aug 2025 00:34:37 +0000 Received: from CH2PEPF00000143.namprd02.prod.outlook.com (2603:10b6:610:1e7:cafe::b) by CH3P221CA0028.outlook.office365.com (2603:10b6:610:1e7::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9073.16 via Frontend Transport; Thu, 28 Aug 2025 00:34:36 +0000 Received: from SATLEXMB03.amd.com (165.204.84.17) by CH2PEPF00000143.mail.protection.outlook.com (10.167.244.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.9052.8 via Frontend Transport; Thu, 28 Aug 2025 00:34:36 +0000 Received: from satlexmb07.amd.com (10.181.42.216) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 27 Aug 2025 19:34:35 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.1748.10; Wed, 27 Aug 2025 17:34:35 -0700 Received: from amd-BIRMANPLUS.mshome.net (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Wed, 27 Aug 2025 19:34:34 -0500 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: c915afd8-83a6-11f0-aeb2-fb57b961d000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ejjLK+XOc9zPI16yhics1oosPpPXO2tsfHszLyZ7IYEXvhPTl5iScXN2x5gynfiTivSEOiP71i+jy8kgyyRliC8TALHRBDXGRkQZYNEG1hpfsLFkz8DWrRA4x/t8vZ0OeyKTB0UMPIEGxQUUuOAtd08HDUV2sJvS1jEsCP/0DSs9RWLzQBi9iXeuV9UrfChd7MJCLcuuHGu2yWlbTgG4Mzm4oWO9rwqwbgf6aBEHLR/UqIXoSj9icvs91MUdfWWXTkbp1hnBYFLqf4n9Czm8EHnbhPEvq7+IC7gpryqO88v2U5z7ETCZTcOYxXYccSMp9IPYknvNiLXxAux4cXPyuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=oACrg1+uNF45UlAHavD66G1T9UliU9PiWyBkteY+IDo=; b=LZvsYNNEC4rLVQ2TMCM5ueoAfiTe56E8w9hiNrV6/vHbY5Cx3E1LUeWurjcAn/9iCTcd6YSfrSCMTd2PasZRVK7AG0j1JoMLrvQa2kASoYePsxTpOUnco1Ai1jI0DHA7xNdjaMxo5AhXwMlqNraVzJT2dgvlZ3CfUvREmN71k89vunwYywh8fXby7AZ5cYJ3eEe25ap7/R1cyT2SMtOs6KEYWR/HvuoRK5/qDMp+BfwQQpHH2CfxzbLO4cPLSD7vJPOYu4GKKMwu6dihk9cfhG+inFP2VkE2tfypdoQ2pk862PHnN1iyvbdguwWkAA4AcrXlz0sedlireKOY4o95XQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oACrg1+uNF45UlAHavD66G1T9UliU9PiWyBkteY+IDo=; b=hJG+4HT1w+ZS6YG28mU5lYfd3Xm7psAbvM42wYiWkyBxHEbqnh+83YKiQuQmAH8ZL9kRHW3JcheBrsLZPq3SUe6lOwuuMqcrLUyUmfmcYoGMuRfkYqZrzyLNL/iKbK/7zEbuKQY8CU7iQT+kEmChYQEcDwvJBeZWAbf9fIgbFKs= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C From: Jason Andryuk To: Juergen Gross , Stefano Stabellini , Oleksandr Tyshchenko CC: Jason Andryuk , , , Subject: [PATCH v3 2/3] xen/events: Return -EEXIST for bound VIRQs Date: Wed, 27 Aug 2025 20:36:02 -0400 Message-ID: <20250828003604.8949-3-jason.andryuk@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250828003604.8949-1-jason.andryuk@amd.com> References: <20250828003604.8949-1-jason.andryuk@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PEPF00000143:EE_|MW5PR12MB5598:EE_ X-MS-Office365-Filtering-Correlation-Id: fbdf9d8d-4b16-48ca-146c-08dde5caaae0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?cbEPd84mKzjJ/jk29l9LG8pCbg3fjcmzLe2K3kg/wEJVjJf9xhlyVsOKeINn?= =?us-ascii?Q?qiEGmT+Ma7fHe55o6oDxpHcCz1wPlP4JumvzbSzSgNxPHyM/zDkWSynsiaXe?= =?us-ascii?Q?tiK4yAw17Ue/Si8BdyC5hoAV0DgmHmSQ4hBxmCJpubw9+1Su9wQ/7O7nBWb7?= =?us-ascii?Q?4Is+l9yzHCjCTPzXufZUT2Y2SLgOyllIq1563k0n7R/tVE3To7et39FiHh8u?= =?us-ascii?Q?v1ArTPiAhcm/ob40/Uj3/mXmJsBoB8/qosFYStvb7qAlYwlqUNSy5d/HmzYN?= =?us-ascii?Q?uxS1fyarpeX/7ByiPrw8Ofg2bqsWuEkQK+BboQwpS6DHVcICSFqlcx/C+U5U?= =?us-ascii?Q?/p4htfg2jVbD4jReYE39z+ErSJAkj5vCiSvcYNuVYDFVc8ssguPSz5jnjGEp?= =?us-ascii?Q?2nA0oPPCIQTAx6Xotsm1MiFDg+iMvtanajOD8ECatf2eRJrV2QMz++VohtMR?= =?us-ascii?Q?xpnhz1zLuL3Zrf5Va99xfEXRjUj/RUJdgUfPcvezJYcjZTRWN3ce+x2KkHDY?= =?us-ascii?Q?dn153RJV5JyYT0qve7DmHdtOU11+SUzAF22Bj5pakhVUpMTNASu+ZeKX732L?= =?us-ascii?Q?HrYzYsuPVPmi7iaPmXhcnqls4h4fYjkLi0VtHRGymboGzhZsQacM3rQZFY/C?= =?us-ascii?Q?MriGXJatbYffXiAIGO9aJZWvH+ihP1YgZP7DRPHySxatVu5xRETpb/hhrAiL?= =?us-ascii?Q?NEDSiPpPWlm3ktAr7U2FGdkKf429Ell1j1GYuR2kBNlPxKfA5QrDph5fAmBI?= =?us-ascii?Q?d104hahHXlyveMHsIrKAuobJSoVZMBgoQvF+T+BsofcwrGZtajlPuOJGo87f?= =?us-ascii?Q?xk8i8+wLemuRmH4pBHVj2s7lHbGDcVUWt+oKvcegiJ+K/yswr+ficFB+aXgc?= =?us-ascii?Q?VbNxt2EFwDOu5Nrou+5LJQMFT7Qxm9nSeGBukxX+3tZcaPN5tcsZqMtLEazJ?= =?us-ascii?Q?zMQtaA6XZ3UwA5lsCVb/I/eun+1LGA+H4FIVkXC6GcuZUlySsqHDWw8QruUf?= =?us-ascii?Q?4p75TaS37TTZJbBKohzZ+bYFPv5fEQhkVX3V009D74qppVFFWbUGBKhJaiKg?= =?us-ascii?Q?carcSfEzCDMtz4p6ShRhJAVlffGsUb4aJY61OQd/RFNYC1yTwqCa//+8P5Ph?= =?us-ascii?Q?ee4pUNnMVQOl+uUusmQsOr3xCj+9saS7hLCqLsj1G26iA6baa4lrwLkgnW+g?= =?us-ascii?Q?BV1n12pGz5lMuhoq4fYB+0xxkmS45ACE5E3N4UI8TXrxWGlBPaj3ro4tiKl3?= =?us-ascii?Q?T4NPe0V2m722UvWPpP2jcgL+P9F/P5cc8FWOpDdISvUjxqfgQR2Ei4gFXMik?= =?us-ascii?Q?Xsk/XdcXZ7+fiKD2/Dy1pkrTbH4sOK2eGwPf2ehR1sfzE8iBozCh4I6xObsy?= =?us-ascii?Q?tkBsfxNOhOVJ2d67Dvwne8Tmc9lM06W25npqsHdBWGzJNiuSesSNt+EiSlCc?= =?us-ascii?Q?R1bdFsl0xmXb6noIA5nyVVk4lZRNeYIDwJnAz786ZlSM9ne1ZbfZPvioZxIw?= =?us-ascii?Q?D4bKjFgmUgtSgEs9BEPyJwsOVJBmXOM83gC+?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2025 00:34:36.8896 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fbdf9d8d-4b16-48ca-146c-08dde5caaae0 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH2PEPF00000143.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR12MB5598 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1756341298440116600 Content-Type: text/plain; charset="utf-8" Change find_virq() to return -EEXIST when a VIRQ is bound to a different CPU than the one passed in. With that, remove the BUG_ON() from bind_virq_to_irq() to propogate the error upwards. Some VIRQs are per-cpu, but others are per-domain or global. Those must be bound to CPU0 and can then migrate elsewhere. The lookup for per-domain and global will probably fail when migrated off CPU 0, especially when the current CPU is tracked. This now returns -EEXIST instead of BUG_ON(). A second call to bind a per-domain or global VIRQ is not expected, but make it non-fatal to avoid trying to look up the irq, since we don't know which per_cpu(virq_to_irq) it will be in. Cc: stable@vger.kernel.org Signed-off-by: Jason Andryuk Reviewed-by: Juergen Gross --- v3: Cc: stable as a pre-req for the subsequent virg tracking change Call __unbind_from_irq() on error ro avoid leaking info v2: New --- drivers/xen/events/events_base.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_b= ase.c index 374231d84e4f..b060b5a95f45 100644 --- a/drivers/xen/events/events_base.c +++ b/drivers/xen/events/events_base.c @@ -1314,10 +1314,12 @@ int bind_interdomain_evtchn_to_irq_lateeoi(struct x= enbus_device *dev, } EXPORT_SYMBOL_GPL(bind_interdomain_evtchn_to_irq_lateeoi); =20 -static int find_virq(unsigned int virq, unsigned int cpu, evtchn_port_t *e= vtchn) +static int find_virq(unsigned int virq, unsigned int cpu, evtchn_port_t *e= vtchn, + bool percpu) { struct evtchn_status status; evtchn_port_t port; + bool exists =3D false; =20 memset(&status, 0, sizeof(status)); for (port =3D 0; port < xen_evtchn_max_channels(); port++) { @@ -1330,12 +1332,16 @@ static int find_virq(unsigned int virq, unsigned in= t cpu, evtchn_port_t *evtchn) continue; if (status.status !=3D EVTCHNSTAT_virq) continue; - if (status.u.virq =3D=3D virq && status.vcpu =3D=3D xen_vcpu_nr(cpu)) { + if (status.u.virq !=3D virq) + continue; + if (status.vcpu =3D=3D xen_vcpu_nr(cpu)) { *evtchn =3D port; return 0; + } else if (!percpu) { + exists =3D true; } } - return -ENOENT; + return exists ? -EEXIST : -ENOENT; } =20 /** @@ -1382,8 +1388,11 @@ int bind_virq_to_irq(unsigned int virq, unsigned int= cpu, bool percpu) evtchn =3D bind_virq.port; else { if (ret =3D=3D -EEXIST) - ret =3D find_virq(virq, cpu, &evtchn); - BUG_ON(ret < 0); + ret =3D find_virq(virq, cpu, &evtchn, percpu); + if (ret) { + __unbind_from_irq(info, info->irq); + goto out; + } } =20 ret =3D xen_irq_info_virq_setup(info, cpu, evtchn, virq); --=20 2.34.1 From nobody Fri Oct 3 16:44:18 2025 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2051.outbound.protection.outlook.com [40.107.223.51]) (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 4110718BC3D; Thu, 28 Aug 2025 00:34:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.51 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756341300; cv=fail; b=nMk9PKd6tiY6XMWQLB0YCVS46Eb0MZxu/U2iLSUcM68dFHgefHw5x68EL+roxycvLqVUHrntLuZHCUt2aSDq5nvuPdL+QSlFOx8pJDQGvVvCeFB3pl06Exew0G8s6CaOhASUsC7qw8z5eGR4ye4mUzKqmNqzmQCBahrYLc1HsBQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756341300; c=relaxed/simple; bh=qoX50v4082sWZ1d40f261i8azT7B1i21gDoFxsntve4=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ODFCX5L4djUffxW241mntFQdE5c6qw+wVA108fU5ZIGGsTrzME5prIISAnPKmTSha+jn0lsPw70JX4+9oAKSzyJvjNIVTdJ9kOzA4IIAh2XmS8Gw/XORuVbJs0qrcjBobTjBFGHRL3u/73sG9M2k5XT6qYYmnYmZ9ct4zb1za9U= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=02kL7aHo; arc=fail smtp.client-ip=40.107.223.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="02kL7aHo" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MbN/RmRMHKOBmxDV83GN9CNkjF0OUIOHezWdTttaHjqmSoeGgBLmzGeEDd60XbfrYQVaCmQJUrsMh0ABXS1jgXbGhUZpi0oln1I2PBYPt3JuMzuj+kOXusis/KqP6FKtcnLUYjplf8Ki5pX6U+TeQaTzQqO3yZHwVGNnvVsiOCeOu4Od0SH1U311qaMp8jrgNTbLw3qdqNGlY41yoRALuAqdhq4NAgk4ez1EdyC7BD9pNv87YLDQEC/ZERcrTxeYWEcKnKYwJjm29AjsobQxPjMVsEf64uguTjPh+HXEfCOgu2M6prN+wAJ66nzGLTkc/7yUUpRkvZgZ77qdyTEcFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hI0Gbe2mYNcrDAAQZRVPaNZt72D2cNKzUHir1F+hsOI=; b=kkdkfnrEGsWTUgDYsBNytx2U/0ccVBsgigBxBsVclUx6Cy+aRO3sO3IY4ErLs5A5wEaUf9NnDBjKKulb8ebVjWfYYB2Pyi8XgItKBynNBFygwBGFIVNs5HUVwnRPix7HZzdPHvpby4K0nc1ss6dm8mtxyaxF+uKbBlDkBFgVsfSmKyzKs52cd9j2BUDcj2rq6bjKqSiBfqebJFp342hskF7Mxi13V9htKF/3UEZ3tMGeAnMXCRXo3acBFw8EMtQf2RAxbmmdml2lknNcKg5wIcSJxkFOdmSAxhhzryxUQYsVOoT5MUMUsZTr27tkHH3bNkOvHXJ6eHpEdle9yDWmgQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hI0Gbe2mYNcrDAAQZRVPaNZt72D2cNKzUHir1F+hsOI=; b=02kL7aHoIIrG89VGrorrae11yVpuDizvbzr1IcOVdnS0OdyZDssCBiwSUdoFkUb+6aOE/8+5GUDnfDmMaZLhxpZPgM1ouyU5l/gL+puo32k3qkHgXPVQospPIZBvjomCQaP5oHMUxuGEUTiicfddHRq7InvgWodYjSrl7yKa7lc= Received: from SJ0PR03CA0216.namprd03.prod.outlook.com (2603:10b6:a03:39f::11) by MW5PR12MB5622.namprd12.prod.outlook.com (2603:10b6:303:198::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9073.13; Thu, 28 Aug 2025 00:34:54 +0000 Received: from MWH0EPF000989EB.namprd02.prod.outlook.com (2603:10b6:a03:39f:cafe::af) by SJ0PR03CA0216.outlook.office365.com (2603:10b6:a03:39f::11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9073.16 via Frontend Transport; Thu, 28 Aug 2025 00:34:54 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989EB.mail.protection.outlook.com (10.167.241.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.9052.8 via Frontend Transport; Thu, 28 Aug 2025 00:34:53 +0000 Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 27 Aug 2025 19:34:49 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.1748.10; Wed, 27 Aug 2025 17:34:49 -0700 Received: from amd-BIRMANPLUS.mshome.net (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Wed, 27 Aug 2025 19:34:49 -0500 From: Jason Andryuk To: Juergen Gross , Stefano Stabellini , Oleksandr Tyshchenko , Jeremy Fitzhardinge , Chris Wright CC: Jason Andryuk , , , Subject: [PATCH v3 3/3] xen/events: Update virq_to_irq on migration Date: Wed, 27 Aug 2025 20:36:03 -0400 Message-ID: <20250828003604.8949-4-jason.andryuk@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250828003604.8949-1-jason.andryuk@amd.com> References: <20250828003604.8949-1-jason.andryuk@amd.com> 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 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989EB:EE_|MW5PR12MB5622:EE_ X-MS-Office365-Filtering-Correlation-Id: 83ebc60e-547d-40b1-5b18-08dde5cab4ec X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Lu8Q4JnOBk00vpR6OekIUJqMS+zv4Wm99SZ2tUtQ+bOqdd2Zc0jwTYWb/UjW?= =?us-ascii?Q?cJDhYHxcjy7EfbHlz7+5Gy/Mki0jkWedYkDGRX599Tuj2Fy79OjN/qoirtTQ?= =?us-ascii?Q?AqM0UPMOo3VJdyAjn4l2NjOy2lZr9OxENKk2FdI7KStFfu8yAuUbC8iH8xAx?= =?us-ascii?Q?SKexhB6CXdhzKrvCHOkVlG17jYTmSr5oU5IIq0QuiKACKfq3831hbvYaXgZK?= =?us-ascii?Q?leqZMuBsct9STkSItYG55xg/eCSzIx+J5NHBN57YNuyJzIqin0ewBF99qZqB?= =?us-ascii?Q?Z0dB8J2LaRJZUZ8uNrBXiJjeK0yqEb+y3skWn6zQUcb9EymXkIvAxdWqtfoU?= =?us-ascii?Q?eJH5G6fNrr79ZzfG00w0Rf/cXecwEAMr8hP+1DJ/VZQErbWQLCZh1qVzY8Ch?= =?us-ascii?Q?WXPOPk3sp2dne4OMDsSL7vd6ypmmFc2lA9l7qeWL2oossxvlimJLdDEzJM+j?= =?us-ascii?Q?o0+sOxuFmo8NJ8WDtN42NwDjhd9Rp2UPUaeVJ4sBSsbboRlFMQc02S7I4Yej?= =?us-ascii?Q?IW5/3ucGIRUYrNwhKN85wVCzjuKV0FpU9mT08AeZeXikbqQQvqdK19048ywr?= =?us-ascii?Q?FYHEop3V1E57DSwhPkdcG5iMIucCpbfRaxyaUhS8ZqOg4esJkiabFunZj7LQ?= =?us-ascii?Q?y02swfBo08+zGsuMUrnVrq6tLpj05HLCvpp5RnjD0msNHxT+r2PkkVDZGjRU?= =?us-ascii?Q?b85N9NVcjMyLIAxdlVDgglOk6z4Vszgou4HQjbhc+9ovGBq8e0F3P9NJZN0i?= =?us-ascii?Q?7ttgBsHjzfdvCaSIHVndcm3dpU198D1CWx00RDCJTglz4OiCsK5LhVGxfY/y?= =?us-ascii?Q?Ipr9eZmG4O/WI6JSsHswIwgh8xDdkKFSEBdz5RVk4ForkpzcQnnD2jmxzfcC?= =?us-ascii?Q?vfsbLXvqwH+AIRaprXiFoayDPzx9YXBMDteyTblgzWKQNhtKUaHlQxn2lFb0?= =?us-ascii?Q?YO0hAYOgBRA52JNyrEhh1LScGfRbY/ABG6sqoVcbz0wq6+/ZyGcCDE0e1239?= =?us-ascii?Q?gwHzmQO3halk7HqKTuFIM0FcIzIHbqkgnKAzvKvb/8Gsr/XemarapmxZQ0Oh?= =?us-ascii?Q?ZBviCdd2nibkr1M8sSidcHZPDOtuAgNOhIkRLRCe9xPMaCoS6eYJN7Sl2hvt?= =?us-ascii?Q?XFpYzcwrWywawcxHlZDySJYvjtyPBjBGOoOB5yUAzpIVS4SVJlWQIGO2XvyP?= =?us-ascii?Q?KJXTRL53s4bx6pH9ikiQv7hEt7A6zIonFStLr3YEjoQabkTtenyVBwcU71VU?= =?us-ascii?Q?Qt+rx4tIBoG1/9uq/6LIvuUame2wx6ySTUBz9s72gbaoFIGXacdoeCi+tpES?= =?us-ascii?Q?u4j2k19upQGSdS6BHd3cPyQgRX7F9jMh8cTF/ga+EFdR5eLCqaz/3ZrLrAxB?= =?us-ascii?Q?3oMMf/egIUZzcy8+065I5afMbv6dqMFv6XMbetQMfcLRi68s/XSEZOxKnWMJ?= =?us-ascii?Q?y0eF51T+uzyy/8Jn77m2fBA8+Uwl8HSEHxRVVn8xGs9BGLk71DlcGTeUu3gC?= =?us-ascii?Q?U2hwdHodjRHtS5YvjhdkpM+cYevloTy9oxy4?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2025 00:34:53.6683 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 83ebc60e-547d-40b1-5b18-08dde5cab4ec X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989EB.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR12MB5622 Content-Type: text/plain; charset="utf-8" VIRQs come in 3 flavors, per-VPU, per-domain, and global, and the VIRQs are tracked in per-cpu virq_to_irq arrays. Per-domain and global VIRQs must be bound on CPU 0, and bind_virq_to_irq() sets the per_cpu virq_to_irq at registration time Later, the interrupt can migrate, and info->cpu is updated. When calling __unbind_from_irq(), the per-cpu virq_to_irq is cleared for a different cpu. If bind_virq_to_irq() is called again with CPU 0, the stale irq is returned. There won't be any irq_info for the irq, so things break. Make xen_rebind_evtchn_to_cpu() update the per_cpu virq_to_irq mappings to keep them update to date with the current cpu. This ensures the correct virq_to_irq is cleared in __unbind_from_irq(). Fixes: e46cdb66c8fc ("xen: event channels") Cc: stable@vger.kernel.org Signed-off-by: Jason Andryuk Reviewed-by: Juergen Gross --- v3: Kernel style brace placement Delay setting old_cpu and tighten scope of variable v2: Different approach changing virq_to_irq --- drivers/xen/events/events_base.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_b= ase.c index b060b5a95f45..9478fae014e5 100644 --- a/drivers/xen/events/events_base.c +++ b/drivers/xen/events/events_base.c @@ -1797,9 +1797,20 @@ static int xen_rebind_evtchn_to_cpu(struct irq_info = *info, unsigned int tcpu) * virq or IPI channel, which don't actually need to be rebound. Ignore * it, but don't do the xenlinux-level rebind in that case. */ - if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_vcpu, &bind_vcpu) >=3D 0) + if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_vcpu, &bind_vcpu) >=3D 0) { + int old_cpu =3D info->cpu; + bind_evtchn_to_cpu(info, tcpu, false); =20 + if (info->type =3D=3D IRQT_VIRQ) { + int virq =3D info->u.virq; + int irq =3D per_cpu(virq_to_irq, old_cpu)[virq]; + + per_cpu(virq_to_irq, old_cpu)[virq] =3D -1; + per_cpu(virq_to_irq, tcpu)[virq] =3D irq; + } + } + do_unmask(info, EVT_MASK_REASON_TEMPORARY); =20 return 0; --=20 2.34.1