From patchwork Tue Feb 28 21:49:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Asmaa Mnebhi X-Patchwork-Id: 1749689 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=Umi59q5M; dkim-atps=neutral Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4PR9yL1ZGmz246C for ; Wed, 1 Mar 2023 08:50:00 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1pX7r1-0000HX-EQ; Tue, 28 Feb 2023 21:49:47 +0000 Received: from mail-dm6nam10on2079.outbound.protection.outlook.com ([40.107.93.79] helo=NAM10-DM6-obe.outbound.protection.outlook.com) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1pX7qz-0000Gw-5o for kernel-team@lists.ubuntu.com; Tue, 28 Feb 2023 21:49:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BxcUVaq8Mpf8j7c/fqllB2i4D/4lC+n52vP7haubapBNe0pMo081LxEycpsRfec6Fn4TsNMKB3+CwMplFWoB8rF0EL3IYGyoScd8BdetHb/b1OwmSMTTsAKaQwbW+JIR8tbnsZQ2lVJ+cWST0ym1lrPtK3+jnDTKbt4wyRqpux9iSs2jnslr7gjkWKdl44b2SFIza3ue9aE79bWkj7HzAQ1WmPOQFs7+xAlzK+1W0RKqVbu00LNfaEsZ8Ykwlx/eTrKrtrV1lLPZKMfagGslDF0GDR7WpVtBU2Gbk3VAOreCrGr7cVzHN73cNopHC9UHJAGWEbh1646vlRCs/rXGkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=lzkdnZuFI5WVeJWhwaxqJvu+vOD42ycp0/YYuchECqc=; b=QQyG98GAsRSIToqmhKrHi0wBYvIQTOau9AOvJatuzNjYba3q09p2qJGq//D5vlz5uF95UMH9bxfb9JragbWEFaFNS50raWDAOoiV8uiKfotVJ4zQbt+BJ+vf0CMJPwp6J20OUuyVVOjyxGcqba9B6svH9ueuRQY3yQX5jiQ9OxqHzYHeY2x5an1EbNjGhfWpXmfcg47sfuEv+DUEmH2BnNLmlaOKWYvWc2/dYYbXq+B/iBG+BXKiDIZKKz0XDZq1OO9EJzSOkJCY0yczaFRmxlip4hcF/pmvv00XoiesXxBiuIhjAEj2VFnw1Qj/kAWnyqjtnhfhWW21M6WvpIL2TA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) smtp.rcpttodomain=lists.ubuntu.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lzkdnZuFI5WVeJWhwaxqJvu+vOD42ycp0/YYuchECqc=; b=Umi59q5M82vC1lfc+5Ii3DlRFWQY4bjetQdz/tYQ9P9O0NFcUGRVpCzOQ5mNe20Cwmg/hoY8tRaCJ5IkGmYudwOcPF0HmVPopB1EygnxNKcC5PUx98RuFMPZqYjv+2vpLDoue3fzZ1WvAXvlQhO/wtlBNwRV9Ji+HiN8SiROkxwNYPKDN6wCRycs8e/674BxqH2RZznEFHWoQmL9jAKIMSorYhjKenmmVy37ZBIs9IeBds9aHg9cNZcLDptt5DwEr4kebWUGCkaKww/5vf10SHuY2mzYBszlbCZPNKJ34UB6DsxNgthl9Vp1nzL2cNZCfZMVkPKZVpV0iVTzHSPqhQ== Received: from DS7PR05CA0061.namprd05.prod.outlook.com (2603:10b6:8:57::15) by IA0PR12MB8278.namprd12.prod.outlook.com (2603:10b6:208:3dc::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Tue, 28 Feb 2023 21:49:41 +0000 Received: from DS1PEPF0000E63C.namprd02.prod.outlook.com (2603:10b6:8:57:cafe::52) by DS7PR05CA0061.outlook.office365.com (2603:10b6:8:57::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17 via Frontend Transport; Tue, 28 Feb 2023 21:49:41 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by DS1PEPF0000E63C.mail.protection.outlook.com (10.167.17.74) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.12 via Frontend Transport; Tue, 28 Feb 2023 21:49:41 +0000 Received: from drhqmail202.nvidia.com (10.126.190.181) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.5; Tue, 28 Feb 2023 13:49:35 -0800 Received: from drhqmail201.nvidia.com (10.126.190.180) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.37; Tue, 28 Feb 2023 13:49:34 -0800 Received: from vdi.nvidia.com (10.127.8.14) by mail.nvidia.com (10.126.190.180) with Microsoft SMTP Server id 15.2.986.5 via Frontend Transport; Tue, 28 Feb 2023 13:49:34 -0800 From: Asmaa Mnebhi To: Subject: [SRU][F:linux-bluefield][PATCH v3 0/2] gpio: Restrict usage of GPIO chip irq members before initialization Date: Tue, 28 Feb 2023 16:49:32 -0500 Message-ID: <20230228214934.9321-1-asmaa@nvidia.com> X-Mailer: git-send-email 2.30.1 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF0000E63C:EE_|IA0PR12MB8278:EE_ X-MS-Office365-Filtering-Correlation-Id: c7d20dfd-2b25-477e-3985-08db19d5b283 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ka6CRl7lX3UoYNgsHT1SMihhazvhkCdiiWXRrDP17ke9IGUrvD1RTA3q07QyXW+RorpmBI6abUaBHszWivSHK+E4cYCejcto1koSK1sauaaexvoGSmWp4ZlapLwNQ8bJ2wf3GoeTwWUf30URA3vF/n0QeAZLB5tqj4PfmhCPgHJNrNa7I+2qQpjSHJdVqi4dlLJjABVcMu74ptgzLnnMSnq3sl0bebgqRe+A6j8ijS6XyLbGGL6m2EqourBhlLu1k1U5eoA0Lbg6IOWo8Ekc85MNKOVmqpqRcYKKlmm+6blMhB3kpbfC1tipwqteuhHU7KZu1uxsNeamJBdmwrLNvb5Bk0hPOSSNBlWHchoRO7+cHFbjBBpoaV3DNi2zIut2zlbcTNUm7wMxRqPoyuPnZuAentuEEKAuQSqu9ndXWn0xDD8+wtUkwrut9AN3iWU3NiHvRmLqpEu7foaMbsjhl2m+y34cJtcht+RKATZwk/+5qn9Kn1t4JK9InDzTXhYsOdVgLtqxroB07/zpjHVxpMQ1VBh1KOjhGRb5JpoFdUO5GoD7b7y18h+q2Ly2nmtBUyWaSV1dZm0ZnB8IoMmevRsq66xXJZmKDf/eLcf6jVgIzA/W/qyJJncvpedNJ6+82vHuFa0X09RkUJTdJUTd56TQZHvj9Bth+DcuVDtkJEwzsbH0wzMm50kmMp379OyCknQs/OUweHkivBdtd5j9q8NEEY9J7fJAR/mQgq7vqOunDSYwS0vNJdkt8GkhG9J5 X-Forefront-Antispam-Report: CIP:216.228.118.232; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc7edge1.nvidia.com; CAT:NONE; SFS:(13230025)(4636009)(346002)(396003)(39860400002)(136003)(376002)(451199018)(36840700001)(46966006)(40470700004)(36860700001)(356005)(7636003)(82740400003)(86362001)(36756003)(2906002)(70206006)(8676002)(40480700001)(41300700001)(8936002)(6916009)(5660300002)(82310400005)(70586007)(40460700003)(186003)(1076003)(2616005)(336012)(26005)(426003)(83380400001)(47076005)(478600001)(316002)(7696005)(966005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2023 21:49:41.5479 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c7d20dfd-2b25-477e-3985-08db19d5b283 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.118.232]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DS1PEPF0000E63C.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8278 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/2007581 SRU Justification: [Impact] GPIO chip irq members are exposed before they could be completely initialized and this leads to race conditions. One such issue was observed for the gc->irq.domain variable which was accessed through the pwr-mlxbf.c driver in gpiochip_to_irq() before it could be initialized by gpiochip_add_irqchip(). This resulted in Kernel NULL pointer dereference. This is a well known issue in the linux community and was fixed via 2 commits: 5467801f1fcbdc46bc7298a84dbf3ca1ff2a7320 and 06fb4ecfeac7e00d6704fa5ed19299f2fefb3cc9 (since the previous commit caused a regression) This race condition is intermittent and hard to reproduce. [Fix] * Backport: 5467801f1fcbdc46bc7298a84dbf3ca1ff2a7320 to fix the bug at stake * Backport: 06fb4ecfeac7e00d6704fa5ed19299f2fefb3cc9 to fix a regression introduced by the previous commit [Test Case] * Check that the gpio-mlxbf2.c driver is loaded with no kernel panic * check that all drivers dependent on gpio-mlxbf2.c driver are loaded (mlxbf-gige and pwr-mlxbf) * do 5000 reboots to make sure this race condition no longer happens [Regression Potential] This could cause some regression with the use of gpio interrupts so it is important to test the dependent drivers mlxbf-gige and pwr-mlxbf. Trigger power reset interrupt to test pwr-mlxbf and bring down/up the oob_net0 interface to test mlxbf-gige. Mario Limonciello (1): gpio: Request interrupts after IRQ is initialized Shreeya Patel (1): gpio: Restrict usage of GPIO chip irq members before initialization drivers/gpio/gpiolib.c | 19 +++++++++++++++++++ include/linux/gpio/driver.h | 9 +++++++++ 2 files changed, 28 insertions(+) Acked-by: Tim Gardner Acked-by: Bartlomiej Zolnierkiewicz