From nobody Fri Oct 3 21:09: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=1756169750; cv=pass; d=zohomail.com; s=zohoarc; b=RIilCRJNYzBsjveW7FCgXzmWvrCvxXjE6U/haybpxYVxX7N9jDS5kozu67vWalF6Huyt5f+qUCr2CS7zzG3eWjG0pNTByfQ20BnodV9cH0H5vo0fx0ofa+jVXeUNMAx/+9vE8M0u7/ghJ4SFGq63rjYb5wbrBADa8MCNN2YCu90= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756169750; 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=g1q3KmF7GFISQT8S9tLsbJH+OYzpCjoxR+k6hCrAMQQ=; b=lNkJAtrxd4+A3SIQtXv0K3clBFxXm8983OvDrcqmRzVacycbkmG2Fl8ZzEdZ3tu3Y9hQ3vHZ3+TSdbbkXhrWrQ0ZcSOo046LRFC6DKKUIcsV19YwwPSt822xKGbbo62iw3aOBr+hxDbgyOKIq1yuQPV1ktJtIDaL5Vd6Rxh/D38= 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 1756169750323134.6942976067744; Mon, 25 Aug 2025 17:55:50 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1093759.1449166 (Exim 4.92) (envelope-from ) id 1uqhyH-0000kd-8L; Tue, 26 Aug 2025 00:55:33 +0000 Received: by outflank-mailman (output) from mailman id 1093759.1449166; Tue, 26 Aug 2025 00:55:33 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uqhyH-0000jY-2T; Tue, 26 Aug 2025 00:55:33 +0000 Received: by outflank-mailman (input) for mailman id 1093759; Tue, 26 Aug 2025 00:55:31 +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 1uqhyF-0000gy-Ll for xen-devel@lists.xenproject.org; Tue, 26 Aug 2025 00:55:31 +0000 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on20615.outbound.protection.outlook.com [2a01:111:f403:2409::615]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 5bacf020-8217-11f0-b898-0df219b8e170; Tue, 26 Aug 2025 02:55:28 +0200 (CEST) Received: from BYAPR08CA0032.namprd08.prod.outlook.com (2603:10b6:a03:100::45) by SJ2PR12MB8941.namprd12.prod.outlook.com (2603:10b6:a03:542::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.20; Tue, 26 Aug 2025 00:55:24 +0000 Received: from CY4PEPF0000EDD4.namprd03.prod.outlook.com (2603:10b6:a03:100:cafe::3d) by BYAPR08CA0032.outlook.office365.com (2603:10b6:a03:100::45) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9052.22 via Frontend Transport; Tue, 26 Aug 2025 00:55:24 +0000 Received: from SATLEXMB03.amd.com (165.204.84.17) by CY4PEPF0000EDD4.mail.protection.outlook.com (10.167.241.200) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.9073.11 via Frontend Transport; Tue, 26 Aug 2025 00:55:23 +0000 Received: from satlexmb10.amd.com (10.181.42.219) 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; Mon, 25 Aug 2025 19:55:22 -0500 Received: from SATLEXMB03.amd.com (10.181.40.144) by satlexmb10.amd.com (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.1748.10; Mon, 25 Aug 2025 17:55:22 -0700 Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Mon, 25 Aug 2025 19:55:21 -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: 5bacf020-8217-11f0-b898-0df219b8e170 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=owDcEnN3x8CwUUn6PVf0fbJ+wlYEzjL1MzzVzSjclR1FmJ4Dch4QOoarUhPou4OeuNgo2snh6YFBylILJ0fS/oen7d4vtVSaRUn8dTQ4RyDSKDgiZV9Iw8U7RCMUzv70wEkHX+BX/g0bGuOk8994/dJsxJ2/EYKbx+LXaskNg6FnCJBvkreoo0X1+DTKRmJqzXMShyw+DVjjxps6RHQVcePH6QHXYafj2XkCXvZ45Zb87S+bESr5ynttEjckVmbSCHrTJaLQknVJDfmbZt3DtO9lTSyFNv1i0zfJRwV/XlgsAKuiIrGx88uIBm5it/Pg9KfA3rhmYFJZqpDtDIClKg== 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=g1q3KmF7GFISQT8S9tLsbJH+OYzpCjoxR+k6hCrAMQQ=; b=w5ukV1SVmN5D5eB8vBMTUV1TZOHJ6c14LvvaL9x2tWc+nWTS969bLwFzLK+BKgT5VsmvOyL9kFJ+4Q13JggiILmU+mYuXPmQFYjXz9yl441bfpPCQJCAI/FE1UNiuaFfE6mOQFd6T4o9b7ucn9jpPJEpGQvgWk8stpinc9TWltwPg5dZKDYd9KjSVYQq5gP7lNXxVi66VmTxTKNLW2AL0nbz+7JTqX8R9ZYRC/RKygU7TumNPYM2W/Lqk5QGgvsoG/+D4mihf02qbxIde7QArHZcT0JObp7o/fSC4p/vc1sVFMCqINCbh5OsixbC4hiLOPQV3cJOESBE7v/7wCQw8A== 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=g1q3KmF7GFISQT8S9tLsbJH+OYzpCjoxR+k6hCrAMQQ=; b=li2CCzhLK4U/tmMfuKhwcPaeDpz/KeZ46gF/+8ZGRjAY/4zLZkugqhFnrUj9Zblg/2VkH9JM4CIYirsZyzMQmwGUKqmrRcvvJYCyvNoJf26KDn0YeeOz1MX4gHiwJu6uT5rQT3sUqEzbQFgBv5Wj3P7Ywrmt6iUZXMOFnky9yvU= 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 v2 1/3] xen/events: Cleanup find_virq() return codes Date: Mon, 25 Aug 2025 20:55:13 -0400 Message-ID: <20250826005517.41547-2-jason.andryuk@amd.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250826005517.41547-1-jason.andryuk@amd.com> References: <20250826005517.41547-1-jason.andryuk@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD4:EE_|SJ2PR12MB8941:EE_ X-MS-Office365-Filtering-Correlation-Id: fb3f9c9b-4a37-40d0-30e6-08dde43b3d44 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?CzLqcgkG2C1T6JYUkk3ak8wE/m8cS/VXFMJke4mmXoNe98VGK/bl4fXIPicd?= =?us-ascii?Q?kriCYoHmduWs6j8Gjcg5d2VtZ2N0IcQ3NOqhdwXNFa2YYPNOxC47PTQScD/A?= =?us-ascii?Q?etl3ZIh6sN383oUu/wvmH9R5tdPC9Oy6DXOXCiLSvZjGTAlGhNSkotL1ZjGp?= =?us-ascii?Q?YTZy6xZSeMUYpK4KwCxlkw01Eo1rJ5qkCkHiyHVh0PtIBtwdBLAuXB92+kdf?= =?us-ascii?Q?3QXp0/OGGcESSC0my6Lln3oMsQ/DAN3oNATw7S8bbcZeoPB4ZlZSBavki+4X?= =?us-ascii?Q?4Eg8YpbqhLBpq6q33p5eEQ9tFTF9EkFQxK8g7MQhY3g+ixJ+J3lrXuFU37br?= =?us-ascii?Q?Yh0A3kC7rqiCiU4Z5i3L6OotH1Y1WOhB9aa2SD6Jwsh4TYDMNu94LPPpWdhr?= =?us-ascii?Q?DKGi3vYuOZ5genEmBK4O+/5X99oesdircHZU+/PuQ5wV7A7dyp9LQeT5ggV8?= =?us-ascii?Q?urnWLWU6GvXh4lHj2IwY3hBRzQqSyY8wh/3poChhCEzIMeKyPTZBeWyZF5Z5?= =?us-ascii?Q?3Jo7dhT0MCo4w7KDs0z3fwTOHs/84S9MbY4tqvsR8ZQDPq5g7hcy+jGUoLFj?= =?us-ascii?Q?rCxonjjOt2CdkW3fD54Vmi3zgdt6p8l+fO/veaWBabaadzyDqhxVqeyimTjv?= =?us-ascii?Q?/7/5EclWK4kTBXrXaajoFi2M2g7UnshoxXYuNuCO9Tsl5DddETvr/HSbPfX+?= =?us-ascii?Q?3ssqfNIXqNYQPrmOHcPqXUt/wGC/B7lqJt6hYN4HPppfubCXQBBlSUUAd82X?= =?us-ascii?Q?W9b+VjVsaiM6YHTVSuSQXzg1tHviHwvGCcLZFhBzRk4NSq759grx+JfQYz27?= =?us-ascii?Q?+7tbFB0ngYvzIzmBsFHh82n28UEcdYVZUWCFSQROY/tQk5OUdp9VtirwtYgc?= =?us-ascii?Q?LHWHaQNl4XlAfuFMoZiSQ7I+4vWvvMbrkjcim4wMktEyBKIT5OP//BVW462B?= =?us-ascii?Q?mH6YNUv8VlgN0NdBu6LMngZKnJy4FJt6tFxwgSDsMmMj7ompkPIhgK61OKqo?= =?us-ascii?Q?O30aMGveqGMqPerVERJuDKZ+gFfIaZJccw4ATVBa9GSem0zA6vVcbBXZhOXW?= =?us-ascii?Q?zyKmN7ltAobUZCR00WOz+GgPllGuUA3vP80tBbJIYTLhcLlsk5vSEuM63nkE?= =?us-ascii?Q?EbIS2yMdilkRcttipCKnYjoIqf2M7V26/xaxvreLHI1mR4eqOXwveSN1Ks5o?= =?us-ascii?Q?CqRIA7O8OVVJJV+Qrj/PG1Ssx4JWYbvWRG/SyQyWl+TPVWg4SZ8XDStM3lvV?= =?us-ascii?Q?9UbIK4oCV6fCV2n11jtiGWw4ZRr4WjThuKolsKqX26nsGSFNVtAC8TNiySXb?= =?us-ascii?Q?RLdcj+vjJ9a3+IQWLTxzXr+0rwvQpTUHYcr0EwNfg5RFHGqCxBwFAtoZu/Jv?= =?us-ascii?Q?/OyIP6Ql3t2m8iAnTu2gegWoFCQihaQiBG5xIgvLCZEjR2GqCX+L8nZF4XZK?= =?us-ascii?Q?LBCAnnc5vISJEu/yBmmEXPdyvU5NrI/7ASCrcJ4cJmBpUbp6NmScC6mqPb4j?= =?us-ascii?Q?Y6Ba0NEveE2kUDzyemIdwROvLJ8hnlwbHkvc?= 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)(376014)(1800799024)(36860700013)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2025 00:55:23.7683 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fb3f9c9b-4a37-40d0-30e6-08dde43b3d44 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: CY4PEPF0000EDD4.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8941 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1756169750800116600 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. Change to an explicit -ENOENT for an un-found virq and return 0 on a successful match. Signed-off-by: Jason Andryuk Reviewed-by: Jan Beulich Reviewed-by: Juergen Gross --- v2: New --- drivers/xen/events/events_base.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_b= ase.c index 41309d38f78c..199afe59f357 100644 --- a/drivers/xen/events/events_base.c +++ b/drivers/xen/events/events_base.c @@ -1318,7 +1318,7 @@ static int find_virq(unsigned int virq, unsigned int = cpu, evtchn_port_t *evtchn) { struct evtchn_status status; evtchn_port_t port; - int rc =3D -ENOENT; + int rc; =20 memset(&status, 0, sizeof(status)); for (port =3D 0; port < xen_evtchn_max_channels(); port++) { @@ -1331,10 +1331,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.50.1 From nobody Fri Oct 3 21:09: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=1756169750; cv=pass; d=zohomail.com; s=zohoarc; b=DvMIfAe6/UlrH1cyfBr6jLDObP4F6q/UJUasfFjt9ImHIVEtcJq+BJfspPOw5ndRkfrh2e62rWPzJy/qpMo/vN2Vj2sHwmV5EkgNcv4ZOrq5q8Lnt9EzSuGfMb3dtNslP6OAQsgJjT/zOZ0jREBifxx+zc7J0G1SR9ezDhxyyrI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756169750; 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=/m+tvcvgsOF/8B6DaahRF/VzF29+Oz9jjZk9+yNmhNg=; b=laYMo8JR7OHEdPmTAKsp44th7swMmZm0dWmALNkNLd038cOseGD/P34NQTE4OZFNtPnxTPoINrYhAcPRtxFS4SUGqzkHdkLk35iTw4fQ61LztOkZm8aGCozEFzZn2Gv7UsjP0iEPynbFd9ijoJheoRDs1qkQL09YxiYWxhvqUqs= 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 1756169750839731.5233046086369; Mon, 25 Aug 2025 17:55:50 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1093760.1449179 (Exim 4.92) (envelope-from ) id 1uqhyI-00018n-I7; Tue, 26 Aug 2025 00:55:34 +0000 Received: by outflank-mailman (output) from mailman id 1093760.1449179; Tue, 26 Aug 2025 00:55:34 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uqhyI-00018g-EO; Tue, 26 Aug 2025 00:55:34 +0000 Received: by outflank-mailman (input) for mailman id 1093760; Tue, 26 Aug 2025 00:55:32 +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 1uqhyG-0000hD-Ot for xen-devel@lists.xenproject.org; Tue, 26 Aug 2025 00:55:32 +0000 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on20630.outbound.protection.outlook.com [2a01:111:f403:240a::630]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 5c29db93-8217-11f0-a32c-13f23c93f187; Tue, 26 Aug 2025 02:55:30 +0200 (CEST) Received: from SJ0PR03CA0215.namprd03.prod.outlook.com (2603:10b6:a03:39f::10) by IA4PR12MB9833.namprd12.prod.outlook.com (2603:10b6:208:55b::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.21; Tue, 26 Aug 2025 00:55:26 +0000 Received: from CY4PEPF0000EDD3.namprd03.prod.outlook.com (2603:10b6:a03:39f:cafe::3) by SJ0PR03CA0215.outlook.office365.com (2603:10b6:a03:39f::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9052.22 via Frontend Transport; Tue, 26 Aug 2025 00:55:25 +0000 Received: from SATLEXMB03.amd.com (165.204.84.17) by CY4PEPF0000EDD3.mail.protection.outlook.com (10.167.241.199) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.9073.11 via Frontend Transport; Tue, 26 Aug 2025 00:55:25 +0000 Received: from SATLEXMB06.amd.com (10.181.40.147) 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; Mon, 25 Aug 2025 19:55:25 -0500 Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 25 Aug 2025 19:55:24 -0500 Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Mon, 25 Aug 2025 19:55:24 -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: 5c29db93-8217-11f0-a32c-13f23c93f187 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZodWxUddWnEIx7z0b2zX7txpHzAoO3EqhGsUZxTcI4Ago8/T0fGkPFSWbvQ/daYjT6vNi0t9h+ktuWo3r+0okaan42V2JV7ku8i/RZpCUnkphTR/hWGxJUzYJSmAM4sShXkwBcLIKW9UvbvsygoViF/IK1GeuZoP5K7IYMKg0HoIPWuJPGqwIV22In7slGSKum6Uq+LBI9rNSx7xcGjikIjoabZoaVOmfpnFe3QVkG6dzBcyCpZgXuIul7WxkJhVE3hs4ZRqDP8eBMByI4O97OMylqVeH7uUb3WcC8wu4/6m0L1xfoXV8F5a/r0ekZZTaUolo41EsYGVnj4PlEm3qw== 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=/m+tvcvgsOF/8B6DaahRF/VzF29+Oz9jjZk9+yNmhNg=; b=KpL5/56cglfcEMtkYk1tDkbc5fx+xj5j7qOokdW+ISey/i2z6iNjYGXekq5z8XklkuK1pZrV62sKohX4t2Ec+V1Ed6TP0eJyzddYrMpLq6IcBNVardGIB5Fd5C9tCwCukYSx1XB8e6skjlSuewKKnpfKBJq9ldX7AhuZ08KlgjPW0DbDzusNCuhhX87Wnv1Zk+JBAIRtTmcDrqrFAD58TFizPiFzT4EaV6DB/N2vGr7qieakFuxzNZsVhBPGwQ6vD9MUGHBS/zyk3AE0JGBOtrRMoZxx0s30CgMAic2kkMaEkRF4YtziJoFLnfFjEeUcQpg9JRZcHQxlMheARpp1rw== 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=/m+tvcvgsOF/8B6DaahRF/VzF29+Oz9jjZk9+yNmhNg=; b=cWnVB2CJbAxzZ8nZrBZ5l8xLsXoWHAz2rfJa1RRNDtxAbpQy5D5abNbxjI9pODFHAyOAIwt9zPTawaxfqKddjSyUZ5YxC2VZqTneVJAm5HiB5W+re1L5JWj1vPv+7879/qMfK2lxOnWDFqV88wwWnH8moNBC/FuollcHg+c6R1k= 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 v2 2/3] xen/events: Return -EEXIST for bound VIRQs Date: Mon, 25 Aug 2025 20:55:14 -0400 Message-ID: <20250826005517.41547-3-jason.andryuk@amd.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250826005517.41547-1-jason.andryuk@amd.com> References: <20250826005517.41547-1-jason.andryuk@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD3:EE_|IA4PR12MB9833:EE_ X-MS-Office365-Filtering-Correlation-Id: aaa155ba-1ebd-4105-3e60-08dde43b3e57 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?38iIKXpC09JDHX0ZCkjhkR5vmjROByzF0lghqWR76d1yl06m3Q9OvfdoAHlY?= =?us-ascii?Q?g6cWPPb0Z53AsLFQL2XtRM0Bk8znD121cSil6utMwfaoMiLOksLd21UG+tTn?= =?us-ascii?Q?OFBRVT/8gEUDjuO6LZbATX76FKPGHpazWzqaY4jgQv4kcwHaMbJGSbRAA/nx?= =?us-ascii?Q?qd/YndzXKVQdq4hRiQIgJUNVN21ITftwq0+qHel8qklJ/PwNivwYJ0mwuHKm?= =?us-ascii?Q?iaznGYj86E817Fu7NPMMiO0Y0aVj/+HV1QHf8fuTX0ySAKxD8dGUWsjY1555?= =?us-ascii?Q?bs+88DCcAuhhxKLiu7D9ifVfDMdc2YXm4r0h8e6bspy4bJHyYJEJ2RttX0WR?= =?us-ascii?Q?uu0YLvwZKG1ZA9qmmtIez/ZBzMNOOtRpze4i98pyDaZ5ADZwYpVpVN6pd8aj?= =?us-ascii?Q?hPzFjh0ZGmGCTVtypxQkUnlqM1B/fJjaj6LlK580zlsfuRWDhNfmTiuCLD7D?= =?us-ascii?Q?TcVDb7LMrCg+L2AbaE9dUFaJmy/nmamrBKLTux+tv7kr2I48v9NQZt3Tp7PE?= =?us-ascii?Q?Pqy6hvADm7dqAx7Li9B9GmFCKMKlE631PqbIfUzISOYicMg/Mum5+2m56nR7?= =?us-ascii?Q?mlQr7TaxglPOos70MgleUOQGNRSHxuEM+Ow2S6mOAYOuX4uAOo0WTrKUUIYr?= =?us-ascii?Q?5kggSyzz8aMrdCp4MuZLYfTPV6wbCt7/2o7Ua0vT8vQyNboV1Up9ax738heU?= =?us-ascii?Q?EFnSTm5/xNWlXQZPnuZHEk4pbTcXEYULtIYkZKvi9Pm6AU2HBLa6GAHdTq+a?= =?us-ascii?Q?3Kq/Bo8MliqmTbVK9ZUsUiRoYj/Q3Gv8FyQ0g0NNRExBE3HAKeLOP5Aif6uS?= =?us-ascii?Q?XV6lngP68qRtXZyP0qwTdX4eW8haV474lRqfziQO4w79VT0dc38KbmHhDu5X?= =?us-ascii?Q?ZuejFaDjJ+bshgpENSzKPdLmdfeNF+VNDUhFsy0hZRT6e6cPnpBSr34pipyD?= =?us-ascii?Q?Y9YrQfrFiW4r7EHRgWcTWtMJSS0nIEPa6nsWx+wvaVkNZxc9okBjCeD+DMYt?= =?us-ascii?Q?o0b0ZOiDl/k0JEGSqnn2XaBc728eHOeJpxph+EBVn3cdpWd9Zu6eTu3rwgmF?= =?us-ascii?Q?84cwtmv/WzPlMskIriDJ9DmDW2V4uPhjVotM7ecde80AYBsj8XnkjODqGcDb?= =?us-ascii?Q?HcVoq1D5nqdW4U/pnC0HBMFeUSKcLwyduZfHGiLmdi+ZQn3CcyYdLwYytxTf?= =?us-ascii?Q?1CKTNnjMikLO/PcaOEHXtPVcR3P0ldQysvfcJ0b54ad9m8LgtUB/oGzqGjBP?= =?us-ascii?Q?KTANBOZmCKtXDQYIKOmCOt13BbTIEDAu3Ta9r9iaL6a6RkZicgQbtr/acdD3?= =?us-ascii?Q?lw1RFiZK16Sj0EJAjcg37060u/pNtA5o6KELAGwI2RKjk3v9l9wqggdXUm2z?= =?us-ascii?Q?Dz6eQHXZjJcVjlKBEYkYSy+8fmyFvsxumXRF8YUUywIt8Wwf6OWhh0wov2uZ?= =?us-ascii?Q?Zm/i/lEmTSfhrUOa0PA2Nv6LgW5YOIOfvE+v05gOPpsJCaxL96q3uy38zRKI?= =?us-ascii?Q?iotoGf/ok8Pls7TfuVw5EGUB2kn2xLpNkfAW?= 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: 26 Aug 2025 00:55:25.5614 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: aaa155ba-1ebd-4105-3e60-08dde43b3e57 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: CY4PEPF0000EDD3.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA4PR12MB9833 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1756169753251124100 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. Signed-off-by: Jason Andryuk --- V2: New --- drivers/xen/events/events_base.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_b= ase.c index 199afe59f357..a85bc43f4344 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; int rc; =20 memset(&status, 0, sizeof(status)); @@ -1329,12 +1331,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 /** @@ -1381,8 +1387,9 @@ 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) + goto out; } =20 ret =3D xen_irq_info_virq_setup(info, cpu, evtchn, virq); --=20 2.50.1 From nobody Fri Oct 3 21:09: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=1756169755; cv=pass; d=zohomail.com; s=zohoarc; b=G8riw2DlRoXmlXTbv0P9QjEb4Xnfnndyop2uqqF8a5l1nSWCkf2IdI7iaS96ohzA9KKZKbNSGtjFBnXphfzsqnc+Es/VdfICFXPsAIn8duhCknsRcXjGR6IMRtmI3xYMsh7acHjl6ZOzX3xio/WWY8kZRPBtStNLKAm/naMHNRk= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756169755; 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=vhSEPF8a35m/xTcBty/l8kD6Fit9wlVpONLWs4x9hHc=; b=muHY3jsfMJBlAfxV/wHWNN5v4HfIbCwBMJ69We5y4b8JLswQuY8SRRxpX5lJJC23FE6JR2VZCwahihrW6TqsyXfIdwc7wixBfGFC9KzeGPCdgVNmbyNKDC6e1TO40wXlDTvl5EwXOrDGI/DRQxvdvC4Hgvti0V4b35aFHtalpLs= 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 1756169755052382.8326256254152; Mon, 25 Aug 2025 17:55:55 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1093761.1449189 (Exim 4.92) (envelope-from ) id 1uqhyN-0001SN-R8; Tue, 26 Aug 2025 00:55:39 +0000 Received: by outflank-mailman (output) from mailman id 1093761.1449189; Tue, 26 Aug 2025 00:55:39 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uqhyN-0001SC-Mo; Tue, 26 Aug 2025 00:55:39 +0000 Received: by outflank-mailman (input) for mailman id 1093761; Tue, 26 Aug 2025 00:55:38 +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 1uqhyM-0000hD-TK for xen-devel@lists.xenproject.org; Tue, 26 Aug 2025 00:55:38 +0000 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2061d.outbound.protection.outlook.com [2a01:111:f403:2009::61d]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 60f9434b-8217-11f0-a32c-13f23c93f187; Tue, 26 Aug 2025 02:55:38 +0200 (CEST) Received: from DM6PR14CA0055.namprd14.prod.outlook.com (2603:10b6:5:18f::32) by MN2PR12MB4272.namprd12.prod.outlook.com (2603:10b6:208:1de::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.14; Tue, 26 Aug 2025 00:55:34 +0000 Received: from CY4PEPF0000EDD6.namprd03.prod.outlook.com (2603:10b6:5:18f:cafe::47) by DM6PR14CA0055.outlook.office365.com (2603:10b6:5:18f::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9052.21 via Frontend Transport; Tue, 26 Aug 2025 00:55:34 +0000 Received: from SATLEXMB03.amd.com (165.204.84.17) by CY4PEPF0000EDD6.mail.protection.outlook.com (10.167.241.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.9073.11 via Frontend Transport; Tue, 26 Aug 2025 00:55:33 +0000 Received: from SATLEXMB05.amd.com (10.181.40.146) 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; Mon, 25 Aug 2025 19:55:27 -0500 Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 25 Aug 2025 19:55:27 -0500 Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Mon, 25 Aug 2025 19:55:26 -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: 60f9434b-8217-11f0-a32c-13f23c93f187 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iyU3wxYGpiISoh/ORueFSlytgk+9QjxHWrrI+iS77I8904KH0bmveF6N9VU+okulfnrkePT4SD1RTIlTsRJRFdqSsnj0EpyUYr1ICpkXCd46C+tG+0ptUNybsT08+kFyDL4l2qOi4/q9i3kuueuodtlNyDtQDABrJLUGuUK8Art/hVD6eiraEXYcx08GmVvMoUIn3EXRXPEOgeRFbcXEBGMPCmiY+I0vTHMxsP+/gre5C+FBhzLoC1bVWRN7eFayeHZpD5+t7wSF2hNHl9XVbAWaKA1do+edtNX6IDiOAyAr+U6aRO0roXycbudLXzcB1PIytZz+gksNnNgbBABi5w== 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=vhSEPF8a35m/xTcBty/l8kD6Fit9wlVpONLWs4x9hHc=; b=G26YkfVD81nINmHApXz4ZmP6moCflXuXTcTRFWEFE85quKSoF8RIPPr+N3vhXtGt//Ns1qSKuiHp01TwhZHEdZ+5Pfid2lSutwQl0gg7vOZvO7GbG5mKkf56huNfiAP1BDqp4+SaRb67OkZEw5DPKPBhlBVHSiVvzkc7DhUOOWC7wtzm1poByNeNFKruVvK4rKDR9MpF9X3qBr26+mxvd59qe5Rqdynfs8ZRurR3Nr4pKezYW9H1WPvKaRyg0gf7fMjIMKIfLrvV9Py9HOU3Qr1spfyCoJ4FWmrjdd/fcapJ4Ppv7rkqW8ugr/v79qoJwI/U8usU+r+ZzHm67Flm7Q== 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=vhSEPF8a35m/xTcBty/l8kD6Fit9wlVpONLWs4x9hHc=; b=RVCBfS8XKocgZAYHQbndIsv6uFJPNsX+hv+3pDf92Soh59aeNbp4tm5g4EP3ZW04EQqxlkT10ebS+DBZHOZBtPm2sQFv+U9odzWu/wTiQVD6eECd3C3IlTN38iVnGUOMYOIXRH/pgSHGK1NuHxZvu7dJKG4CBag/l1hEt/PD4G8= 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 , Chris Wright , "Jeremy Fitzhardinge" CC: Jason Andryuk , , , Subject: [PATCH v2 3/3] xen/events: Update virq_to_irq on migration Date: Mon, 25 Aug 2025 20:55:15 -0400 Message-ID: <20250826005517.41547-4-jason.andryuk@amd.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250826005517.41547-1-jason.andryuk@amd.com> References: <20250826005517.41547-1-jason.andryuk@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: None (SATLEXMB05.amd.com: jason.andryuk@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD6:EE_|MN2PR12MB4272:EE_ X-MS-Office365-Filtering-Correlation-Id: 257c7527-1b1a-433b-18bb-08dde43b4337 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?nMu5kN6+I6t6UvBysYvjl1/MEYUrCnNC8IwTMUiApM6Y7vjcU5L7+M2ajHCD?= =?us-ascii?Q?fm1E04TgLfivlaY/KFpx/OBXiRVFWeSJt4HfkEglYRNUqCUJVW7xdlX/ESS4?= =?us-ascii?Q?vo8bpZqUeUCIMQxSaY2wZiDof6geiz/JyGw6W9jHMLqrWO33opFWTKOE3mG7?= =?us-ascii?Q?AivaUi5VktkKg/vNRYmshmMkvDxlasVH47xXY2Nx56YIyin61gDNGwWcQtjO?= =?us-ascii?Q?P1+KWpnSWMR0bVPQTGf5h/gOr80x8N4np0ZJwafstEU4qCPM1KsFVQ8QEd+M?= =?us-ascii?Q?SVEDfgGUW4wLHNDFoU51KIc5ZULnsfv35s7lR/org0HSwDACOGU/20RQco9f?= =?us-ascii?Q?99FEOryKLszZ6v9KGyeHpuTRhYku1n53KcTZhHMmaU/juJlwdycxTxRZJS1n?= =?us-ascii?Q?LrTxbJ4E8tAotqBtD6kUj3GaW2XMACJjWygKwl11mBJx9Tf0gBr2prrL1mHR?= =?us-ascii?Q?T4gTczicMx8C/xgckO+miyL2mns3q5tBNUoP1agh5Cyoo41TnHtVWnlvER8r?= =?us-ascii?Q?xTAvFr6rWe8ThzSOwSthdHcxJRlYpvNTUXiLziVp1MgTtSUCQpPAYMLDXMv1?= =?us-ascii?Q?tXoPs/dtEkYfO5Y2SYIzFAB49JbZN/M2oXjE2+onWoadlFVjtXQuYlCP3GiQ?= =?us-ascii?Q?4W3+CF5a28GBiyoRGIs92SwcM24971eCdefuOL7ufVZAZ/7e4dmH0ZHmGIde?= =?us-ascii?Q?FjMOWGPBlz6RXnG+GbBpCIvG4TS48hhRae/39OtZqKAFBPEUKi6IBA7M0Utg?= =?us-ascii?Q?oKvMilWMMZteVwD5/f9EUaTLcaugmrG3GjF/4sPDpSP5DLBTENFPhy0WHHKo?= =?us-ascii?Q?sxpr4u+NPW6EK2WD8zL3J9vAlQBG3O8fA4qQybwshy4b/RvYeJv529byUyfz?= =?us-ascii?Q?AAGWmAmFKNwFE26HzvOVBG3DIIeO0+MIlcztVkhWdQYGYQzz+/H8G01+OqJH?= =?us-ascii?Q?d2w4QDk1DwCbOK2mOFfkC02qZAKUenToIQfyOaNwurdUEfus7yJs/gRg0iec?= =?us-ascii?Q?kYXJJ6wWJaY5Nt9sJYkr+jSwRffnBucwH1ruJJfHwtG5okUylSUcRy94D2Lg?= =?us-ascii?Q?+reSQ4ypSSvEQlivuZKGa1VmV2HTu12f35b3fGW5Cy1wFTHaRtM9uutAEcNM?= =?us-ascii?Q?WbNbqpNXLwuLW168eTNjWY4E/G3sGteGmPdZrWEoCrW+bMcNYR/eS+OOSC7L?= =?us-ascii?Q?GVxbEmPzlIlizGHekFE56hQRrluaRhe/a00yhvdsr8bVqgCo7krGflPF9oLR?= =?us-ascii?Q?vZ6/ARt5r98MWPx4qKGnH39aGx/IfucC0TpPx7/4dIQmtW3RyDKN0+PrIwhY?= =?us-ascii?Q?vVIgJIuyy81QV3bea/owOwxHVRrw5CYi3m5bEZ8nFGlw4ZuU0ybFs7947HVx?= =?us-ascii?Q?MJsS+vQYboQ5q+Gc+1jp1tzI5cjtQXQPjGbx5JyfQvmsqim0HNfvuUORUANU?= =?us-ascii?Q?O4hwTi1b3Y1tW72mPpjeUPea+ylza4Un1fbzXHHXJ8nbpbk3mG5dFqTLPvVk?= =?us-ascii?Q?XmZFJ5f3NvQcIeXnA72fgPKyULIXqfFzSher?= 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);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2025 00:55:33.7475 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 257c7527-1b1a-433b-18bb-08dde43b4337 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: CY4PEPF0000EDD6.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4272 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1756169757209124100 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 --- V2: Different approach changing virq_to_irq --- drivers/xen/events/events_base.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_b= ase.c index a85bc43f4344..4e9db7b92dde 100644 --- a/drivers/xen/events/events_base.c +++ b/drivers/xen/events/events_base.c @@ -1772,6 +1772,7 @@ static int xen_rebind_evtchn_to_cpu(struct irq_info *= info, unsigned int tcpu) { struct evtchn_bind_vcpu bind_vcpu; evtchn_port_t evtchn =3D info ? info->evtchn : 0; + int old_cpu =3D info ? info->cpu : tcpu; =20 if (!VALID_EVTCHN(evtchn)) return -1; @@ -1795,8 +1796,18 @@ static int xen_rebind_evtchn_to_cpu(struct irq_info = *info, unsigned int tcpu) * it, but don't do the xenlinux-level rebind in that case. */ if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_vcpu, &bind_vcpu) >=3D 0) + { 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.50.1