Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2227811/?format=api
{ "id": 2227811, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2227811/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260424094913.522123-3-mahesh.vaidya@altera.com/", "project": { "id": 28, "url": "http://patchwork.ozlabs.org/api/1.1/projects/28/?format=api", "name": "Linux PCI development", "link_name": "linux-pci", "list_id": "linux-pci.vger.kernel.org", "list_email": "linux-pci@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null }, "msgid": "<20260424094913.522123-3-mahesh.vaidya@altera.com>", "date": "2026-04-24T09:49:12", "name": "[2/3] PCI: altera: fix resource leaks on probe failure", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "112f2cdb692c9af54da6c54af1d6a33561f08047", "submitter": { "id": 92067, "url": "http://patchwork.ozlabs.org/api/1.1/people/92067/?format=api", "name": "Mahesh Vaidya", "email": "mahesh.vaidya@altera.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260424094913.522123-3-mahesh.vaidya@altera.com/mbox/", "series": [ { "id": 501332, "url": "http://patchwork.ozlabs.org/api/1.1/series/501332/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=501332", "date": "2026-04-24T09:49:10", "name": "PCI: altera: Add Agilex 5 PCIe Root Port support", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/501332/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2227811/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2227811/checks/", "tags": {}, "headers": { "Return-Path": "\n <linux-pci+bounces-53130-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-pci@vger.kernel.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=altera.com header.i=@altera.com header.a=rsa-sha256\n header.s=selector2 header.b=r0lft6Pp;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-53130-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com\n header.b=\"r0lft6Pp\"", "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.61.34", "smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=altera.com", "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=altera.com", "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=altera.com;" ], "Received": [ "from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g27Ws3ZDGz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 19:51:21 +1000 (AEST)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 60E33303204B\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 09:49:46 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id AA1B72E7F2C;\n\tFri, 24 Apr 2026 09:49:45 +0000 (UTC)", "from DM1PR04CU001.outbound.protection.outlook.com\n (mail-centralusazon11010034.outbound.protection.outlook.com [52.101.61.34])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 5EC663090C6;\n\tFri, 24 Apr 2026 09:49:44 +0000 (UTC)", "from SA1PR03MB6498.namprd03.prod.outlook.com (2603:10b6:806:1c5::7)\n by DM4PR03MB5982.namprd03.prod.outlook.com (2603:10b6:5:389::21) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.21; Fri, 24 Apr\n 2026 09:49:42 +0000", "from SA1PR03MB6498.namprd03.prod.outlook.com\n ([fe80::feea:da58:faeb:9ebc]) by SA1PR03MB6498.namprd03.prod.outlook.com\n ([fe80::feea:da58:faeb:9ebc%4]) with mapi id 15.20.9846.021; Fri, 24 Apr 2026\n 09:49:42 +0000" ], "ARC-Seal": [ "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777024185; cv=fail;\n b=ZZV+prETRY1RCeI3MdbYCJYZpGaiRMwGMDJufDdKmgMaYFuFEIjuB/uJ/qeosd9Pl2clRofRULgvF1uOvAkVgPAbCIzseHhmAFo0+1L54Yx/D9WdyUVXmU5zOvQBTpnygdJc79sf4MS6VSlHKgcLPeBLfznJxU0YTetZpCAn+/s=", "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=Hg30sTlnOA+5CZ+nlT8VZSaOm3Ca+Rquwn0vW7Xv+GIq/ylzWvU02+SJo7wdL0d7KA9Fplpp2Uhlgjn+l3MjIHINd/JGnPayWCUYmzrtS7/0VQ3KIzdVXktuNL50l2s2Ujf5LpOLSvbM/sAxwByoPwomVMzJRuvUU0u57M38Q5AkYz3ncqDfVMruN/+DY0zra8h5DbwAPaD85SpoGXTZonvywu2DZHeGEazqpxeHnaevBakKtiQphhjyEda45YkLNiqsXRRHfWKFpO3d5GaKVJwpKBYSnQgZdFudB18ALrjW+jbje64b85yHOeiBf8kPmsxqGMkjp9kBtLer3fTYmw==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777024185; c=relaxed/simple;\n\tbh=bhRFNaJqkPWBqwBF6NWfYI1pH0nREqZplwYGqVUASh4=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=qzefznjJcICeJvz1DC0xNJDg4otXrWLM7WX/sLwAU5gPkTe6P0WBSZ/hhcnjgohACYnkH/D+JELljiPXVFYLTMMGddckAVfBepOpTwCjquEyyIt49cz6CBSi0KqX/AQ6k4gdOdrXyCpHQTRTIkUjkfrUWQJdMHgHGbypjjyGplQ=", "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=ivJMs2Y76+V7A/H3pm3TU3muagmoXA8CrAUAszpgFRk=;\n b=drm4Wi1BgqpoGfjVmRM5LYhGvGyWgu8gbp4d+dagY8wU13CatCQHTDFtSe6lw3eszQOMIs4S93dpcUIWaEE3BQa8ZvKLYMJPnITjzM1ujAjjnbEqtNZTFO9679ASwA75+xQMRkaJY3bSnwKDU65F8IBOAz25r3cASLfEnWvnJoLT016/+U+3iUltbX4G106wR/k3gqNonyit/I9jMk+UXD0d5S6L/HxEhbWgdCUflZRCh2VHBnU2eboIdaegf0Dcsf9wemmi8AIKcVE5ASn4AVI6TNci+DEHdc98IGK2v15Z1aOGCzkSB31Cophkrl3p0rt+s0FiSh//gr6OJrCQag==" ], "ARC-Authentication-Results": [ "i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=altera.com;\n spf=pass smtp.mailfrom=altera.com;\n dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com\n header.b=r0lft6Pp; arc=fail smtp.client-ip=52.101.61.34", "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=altera.com; dmarc=pass action=none header.from=altera.com;\n dkim=pass header.d=altera.com; arc=none" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=ivJMs2Y76+V7A/H3pm3TU3muagmoXA8CrAUAszpgFRk=;\n b=r0lft6Ppq3BW8YoK2iNrB4XstRAXsgkkA6sHtp2k7Ms6NQoAkB12UNZodC0S1dEFirNxuS20XKKOEWXE+TQSGeR3uFxFVH13tco2mtTlOQVel0Zj0OPsO8E/taIhJyUWaAirz9SjIACcnh2RMm30dYS8Wni+j5yay7WtyB/maM6LD4dYLryxlI8B1HUJ1CAr9HLciEqmp6wHl6slc9wCKkAW7oZyH0l+Q0yDFGU31YS+U3TJcNiRf331SD+80BqzJywp+3djrIj9kfKBz8xcOxgyWMbNE+5Pg1HE35Tn+D1lFvfhkM0apPkPsgqY1QARDbi+We2lWWUfElckDsSXOg==", "From": "Mahesh Vaidya <mahesh.vaidya@altera.com>", "To": "joyce.ooi@intel.com,\n\tlpieralisi@kernel.org,\n\tkwilczynski@kernel.org,\n\tmani@kernel.org,\n\trobh@kernel.org,\n\tbhelgaas@google.com,\n\tkrzk+dt@kernel.org,\n\tconor+dt@kernel.org", "Cc": "linux-pci@vger.kernel.org,\n\tdevicetree@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tsubhransu.sekhar.prusty@altera.com,\n\tdinguyen@kernel.org,\n\tMahesh Vaidya <mahesh.vaidya@altera.com>", "Subject": "[PATCH 2/3] PCI: altera: fix resource leaks on probe failure", "Date": "Fri, 24 Apr 2026 02:49:12 -0700", "Message-Id": "<20260424094913.522123-3-mahesh.vaidya@altera.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<20260424094913.522123-1-mahesh.vaidya@altera.com>", "References": "<20260424094913.522123-1-mahesh.vaidya@altera.com>", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-ClientProxiedBy": "SI2PR02CA0014.apcprd02.prod.outlook.com\n (2603:1096:4:194::19) To SA1PR03MB6498.namprd03.prod.outlook.com\n (2603:10b6:806:1c5::7)", "Precedence": "bulk", "X-Mailing-List": "linux-pci@vger.kernel.org", "List-Id": "<linux-pci.vger.kernel.org>", "List-Subscribe": "<mailto:linux-pci+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-pci+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "SA1PR03MB6498:EE_|DM4PR03MB5982:EE_", "X-MS-Office365-Filtering-Correlation-Id": "7695c205-8be5-463a-6110-08dea1e6cf12", "X-MS-Exchange-AtpMessageProperties": "SA", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "\n\tBCL:0;ARA:13230040|376014|7416014|366016|1800799024|55112099003|56012099003|18002099003|22082099003;", "X-Microsoft-Antispam-Message-Info": "\n\t5dh3eQEWyKduXqsMBOus5Z5rbKpuXRUpjqxlFge96usXCy/eVN21fx6LHL6hyNgjGjyz5Z2lZJ3eKQYoNWJMFlNGSTrEJZuYAeMWv2bUhIkw20UMaY9uTL8bqzaqVx51HfWMVGhe7WWaEwXJ5o9j6EkqPskYKhjcJRXd85N6jAL3/pWSsMiOuTFbt6iWdLwzTQwv/SCwHQsROMt8l8oLR0yxkL9DJmXBSSU7Oi6qr3RWqFP7q9yoBXcmRNWnc/06cc3BNUB557w0RT1gmGyTWmhMX+aOZz7CNBDpJ++kOpFZ+l9CuKrWfjwakRi7amTittgMpRAoifAA9FZTnR3c8pQ9045pK01p0mb44tI11o4yZVtNS0UevX27cQZCZOcJAJKMQVPO/7Dyjmz4RaMaaXHdKbbfaJt6HGxjPOGnadYeoouNszAL8UaW9MJc1lAZM6VmfNzvbLzATbWkhJqpcCjuli5FGV4FxKask3lWPNbjiLXWNzipAyWE7SzqXtrV7XjrfwtO+70HWCsHHj4/joNFl/fhUkFpOumgEDvszjudG/Xsdlmgvza26kaK2RnWN2AIfdWMjx8KmppDwTCxnBdzdNvRw7hHtK20NM/kYg7UjFrDg+B2llwRUE+naKvckNsuNdjxcM0MNPSYgv1kl/aGZ/kxh79tMblQMV0s1vPRUOPK/pVtQAgUPLtVPlQAqQ3MXi9BigNoY4Ep4oy18xbl4bGAN32D0v8TnJflxUg=", "X-Forefront-Antispam-Report": "\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR03MB6498.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024)(55112099003)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n uMTrJAwOhTWdcpKfIrrbwugkA9I/lV3PsM0WfjG1J4sXWLdKLPVUTdmbdM1tuKw/ESBBQi7KKTrztUBoX+3qie5VCZXTNd9LkA/zUYeVB5paXK8ndOWvFZRxoTAB16QHo9iVsT+KiggrRM2gx4V/oEuLdvQXkhMVMncqfBKPgMbmpOt0XYCMIXWoZzW3E2xzY/V6CKDsKrKFrJ/HFho6aHDD0O5iUt3uDBtOx8/3ggRC+b/wUzQoi6Edrfib3+hnT7+9+KiTQgKy5OPzylqdC2yEYp4e6mBF0siPc4LSm1fF87ByrPnFcYwcUZF2YSYiNHOKESK5x0VpGCL0detvhb1oKPJf0KcjV7CbxrV2SUMFUNhklL4CdbO7jK5rQthYDOgeLpc79AlaWh2QSX18whcu9b1Gvy/CfH5K41REv7pByAqamVS+CzTdQS5T7V7aMzCZ4a81VMOPJ+4XkUsN5Zfja9FWVgg0bMxcC2JMZgKK07CunYKHE7OxndD7XRUS/RfLCIXYZJmj+B696ISatiJT2arIzsIi/+JZCZoeiKF1XoliCW+2LJj4zmmRGRFoSHCEXI6xCDfh+D6RCfl6qMGrmlTnUIn2isc7eBZeA0QSUHMmUy19dcePYwelsGCTAdrf3M3PND9PBMOd699GNWyu3iGjvRBusEv6RRrrPUush9iIsrBgUgRUqdGJCtnzmGrBSX5J5FUmpCitm7+NkbiBkld/SWC3pnTIjBxEQFy+HCJ2zXTsf19VdwnMLyAawdxmi7g0+EsiBngnMv4jvv7yhrnDTtd13z8Sx6E/71OR/ZmicaxKXEZsDnb6kYjAWCmx6Ppi4/jyBvZmHg9jbriRPlmJoyHdp4nd6+rmwuNOmKiA3194ddIRnrhdjI38APdzhgwAPbSUX2RaJcUm29UhomkaYzfnZ9gDFcmo6YbBnKWo+2W0SMjUDYYeO1tJcjePh/iKpF9yoCF9BB79EcitIQHp6JEz43LTiH9lwSXzzYrYOwWfnBQG0jUWzbdo9iLMY0yi0xwun+WL10NMU/TllVvICVnK9EV9omrZLrT6k6EHLzrcM1L3CtS2MmO2NI2BfO0tpXUmvNIxPUZUtKG95OnDmgd/7gXQN75hpqCFGym8rUJcTsDg4jtp4TLPx9QbK1kNt7RMqMphGdButYRIFQfGSUXZW5rHljNfKvlxPjg8GvebmALfjG4yPmDHCNTBBEBTXatYxpEEgQjc1T+t9j0O2kwA9jyGIeCkv7CMTTbyaG7GnAyJRA6CeB25DecWMonDm4vomisVbuPnJyfQQem/YW24SVLEUpWRiZrVAlP/voQsN4cYjDhq4Vy5YnnozXMdxrSMdXeWaSNY7WhHezh4bi9Ew3PbDuVv1NUtaqbYUUnm7MF9Dkj3MuOMgTBn+smZUdcRdAy+oEXhf1FnsdffrMoj/Px7mpWG64mWE+afDylIc5VKbq/ZyWiJbC6TTpiCbJSXUpif6T4wgLkzhYtpJx8uLtuK7aC7mddYy9aev8eA8UqxZqeJal/HN+aymr/OhR9S0/zyVizVJg36ZN8izi7Gz8f3xPcS0E+G4GIX5M+bBO1oS2NAxPFslqiWYBiptWjUaMyL4S0l1a5+aatlnN+Jap7V1bChGKxVeIJAFWljpKKZifMRHu34L9HlCIAB8X8ol3GJnlmLMOgaH6gpHpv9pBWrmFNz8WAqjHMa/WdkggzbBF50FpNGQ98hITIjXgW+RPBnBAlN1g==", "X-OriginatorOrg": "altera.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 7695c205-8be5-463a-6110-08dea1e6cf12", "X-MS-Exchange-CrossTenant-AuthSource": "SA1PR03MB6498.namprd03.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "24 Apr 2026 09:49:42.4570\n (UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "fbd72e03-d4a5-4110-adce-614d51f2077a", "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED", "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n zdoNl3AvNR/lkYrTC9M8XOS5gPbl1fvw+jxjWtUKn3iekUfJpcHhqXJ1jcsDSCem5aI4y1JsYk9Mp/xdP5qyy+IWZ6BxZ5wwnWuIBAzeN4E=", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM4PR03MB5982" }, "content": "The chained IRQ handler is installed in altera_pcie_parse_dt() but\nnever unregistered on probe failure. If any subsequent step in\naltera_pcie_probe() fails, devm frees the pcie struct while the\nhandler still references it. A subsequent interrupt would trigger\na use-after-free.\n\nThe INTx IRQ domain created in altera_pcie_init_irq_domain() is\nsimilarly leaked on probe failure, since the existing cleanup via\naltera_pcie_irq_teardown() is only invoked from the remove path.\n\nMove the handler installation from altera_pcie_parse_dt() into\naltera_pcie_probe() after the IRQ domain is created, and add a\ngoto-based error path so altera_pcie_irq_teardown() is called on\nany failure after handler installation.\n\nFixes: 60f2ee5f1472 (\"PCI: altera: Add Agilex support\")\nSigned-off-by: Mahesh Vaidya <mahesh.vaidya@altera.com>\n---\n drivers/pci/controller/pcie-altera.c | 17 +++++++++++++++--\n 1 file changed, 15 insertions(+), 2 deletions(-)", "diff": "diff --git a/drivers/pci/controller/pcie-altera.c b/drivers/pci/controller/pcie-altera.c\nindex 3dbb7adc421c..025ba74d1ee2 100644\n--- a/drivers/pci/controller/pcie-altera.c\n+++ b/drivers/pci/controller/pcie-altera.c\n@@ -891,7 +891,6 @@ static int altera_pcie_parse_dt(struct altera_pcie *pcie)\n \tif (pcie->irq < 0)\n \t\treturn pcie->irq;\n \n-\tirq_set_chained_handler_and_data(pcie->irq, pcie->pcie_data->ops->rp_isr, pcie);\n \treturn 0;\n }\n \n@@ -1020,6 +1019,11 @@ static int altera_pcie_probe(struct platform_device *pdev)\n \t\treturn ret;\n \t}\n \n+\t/* Install chained handler after domain is ready */\n+\tirq_set_chained_handler_and_data(pcie->irq,\n+\t\t\t\t\t pcie->pcie_data->ops->rp_isr,\n+\t\t\t\t\t pcie);\n+\n \tif (pcie->pcie_data->version == ALTERA_PCIE_V1 ||\n \t pcie->pcie_data->version == ALTERA_PCIE_V2) {\n \t\t/* clear all interrupts */\n@@ -1037,7 +1041,16 @@ static int altera_pcie_probe(struct platform_device *pdev)\n \tbridge->busnr = pcie->root_bus_nr;\n \tbridge->ops = &altera_pcie_ops;\n \n-\treturn pci_host_probe(bridge);\n+\tret = pci_host_probe(bridge);\n+\tif (ret)\n+\t\tgoto err_teardown_irq;\n+\n+\treturn 0;\n+\n+err_teardown_irq:\n+\taltera_pcie_irq_teardown(pcie);\n+\n+\treturn ret;\n }\n \n static void altera_pcie_remove(struct platform_device *pdev)\n", "prefixes": [ "2/3" ] }