From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E0F44C48BE0 for ; Thu, 10 Jun 2021 04:19:28 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B0CB36109E for ; Thu, 10 Jun 2021 04:19:28 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B0CB36109E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nvidia.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rByGLUoz5AeG+F+5aYa9YlUWQnu1W+4N9y8kfaEcJmw=; b=p/kHMSOdXaV/rr 4cQ1ku5zQeCLIGN6SBuFu1uEa1shAGh6hBnLtsr3yGCd/LtIgr5853dQ/D5x44Hix1BnteiUCrUK9 Ex8UqyHGfwWy4yudkWtS3MRhHiYvG0JnDUWviiBAsz9an53vuw0NrBElqU2lnDvq7Rm0+bgSd4LBm frj4XcwWbDyQXMG9Q8k5y8lf1bDvqLh6CEnmANSuNVv7z+8KBIsS+IXdRYjQk+gBKtxonYg7AHZiO pEaLzpFu3cw5gFzNPYPt40kEaNTs36J5uQvji55olC1rpgjLk78W8UyX5vDP/deTHIgePwhVb933j Hn9YSkayJpO3MRSBxjhg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lrC8M-00Gmy8-N4; Thu, 10 Jun 2021 04:17:35 +0000 Received: from mail-co1nam11on2062.outbound.protection.outlook.com ([40.107.220.62] helo=NAM11-CO1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lrC8I-00Gmx3-8w for linux-arm-kernel@lists.infradead.org; Thu, 10 Jun 2021 04:17:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EcZOO6GuiphTrhWYOTv9r7IkEX37dhikqoXvKvMoeBYtZXcOh3tudTKSXPT3ghHzEKDMFXAteVStBpFiA7m4GKpWPKZ7yTELrZelWYopwgXG/E7yklsJrys6rfPf36zkOGZFsv9U8vBBJCpB+cJ0hcPItdzXd/6wTkpqwDGWQbAN6lT5OxGLYtzvD201BQsmSOsV0/Z7DXn4ouKAAUPT5b1tPbM8kPp/08GIsQC6qMPnehh/8hp6XDPVc1UiSe85uqgfvprD/l+Yp3vR1lU9CcX9evGef5n2XKcaZdG2R+CxVq+QVCGe4mIFCgFoN8oGGYuA1JpQ2IOgkHohNVVWTw== 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-SenderADCheck; bh=AAJyeRVqgL7ONMDAasXb4kStbGZl9qNmY9+wgLZLA3E=; b=QzGMDE7Pylsnl+m6ftvBAq6b2DDR7UxW1zTUTcVY6i6zVxfie+3UWvTzG8JHgp/3+Dn8ZodZbW8PdQSLwwoO5HQ+mHOECt8qPhPoVddW3ZuMytC0C0C0MWrxh0sk36GkBIk+4wi7yBWZMvZuUvFIOuwXk7cT1qEalxevAiY2Uw+5gCbnM6d0F9tucB6cKEmrGz0Ms/ntdHK+1r3pntfAOhUQV4GszvaSp10+DFaWUeK82yKECTtBTrX5AVWCFfPy/cV5kTm3nEV+mA2inWzePHOvXGvpjWxo6PQr2rtqicc/xq7m1aZb84HOPzz45yeTUtsUjqR11MLoQ3adIXhdnQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.35) smtp.rcpttodomain=8bytes.org smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none 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=AAJyeRVqgL7ONMDAasXb4kStbGZl9qNmY9+wgLZLA3E=; b=iAzxqzwtsX/WcH4/OgGvbPgbQNZlcR0h5gjBU27sL+Dtc/Y28AvZgindonnyplEs0p/S+oehZqvNsazVZrttJ18tkBgKrfQQ6HSoZLJpzDIj2hZlzdTiehUAp1lApANscIc4kpfVkuCZY7W6dKQEdLNjFNC1hadm5EpR+pfVaMwzEDb4UhuxH2xzsYyIPuFYj8M8HazyqrHkypBzmXz6IgnXgyIa2XaukX+zg3Cu1UzK5gpKRC59tXsbX30xoIj4YQsF6CMdaJ/7EnAUT6hYCv+wfgFgFVQ/oUgTD92SzfUJVbB3IoiO0MveAi4chiQCnCUqzhuY7a/4+RfYfyW/9g== Received: from BN8PR04CA0048.namprd04.prod.outlook.com (2603:10b6:408:d4::22) by BN9PR12MB5116.namprd12.prod.outlook.com (2603:10b6:408:119::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.20; Thu, 10 Jun 2021 04:17:23 +0000 Received: from BN8NAM11FT011.eop-nam11.prod.protection.outlook.com (2603:10b6:408:d4:cafe::b8) by BN8PR04CA0048.outlook.office365.com (2603:10b6:408:d4::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.20 via Frontend Transport; Thu, 10 Jun 2021 04:17:23 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.35) smtp.mailfrom=nvidia.com; 8bytes.org; dkim=none (message not signed) header.d=none;8bytes.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.35 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.35; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.35) by BN8NAM11FT011.mail.protection.outlook.com (10.13.176.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4219.21 via Frontend Transport; Thu, 10 Jun 2021 04:17:23 +0000 Received: from HQMAIL105.nvidia.com (172.20.187.12) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 10 Jun 2021 04:17:22 +0000 Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL105.nvidia.com (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 10 Jun 2021 04:17:22 +0000 Received: from amhetre.nvidia.com (172.20.187.5) by mail.nvidia.com (172.20.187.15) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 9 Jun 2021 21:17:19 -0700 From: Ashish Mhetre To: , , , , CC: , , Subject: [PATCH 1/2] iommu: Fix race condition during default domain allocation Date: Thu, 10 Jun 2021 09:46:53 +0530 Message-ID: <1623298614-31755-2-git-send-email-amhetre@nvidia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1623298614-31755-1-git-send-email-amhetre@nvidia.com> References: <1623298614-31755-1-git-send-email-amhetre@nvidia.com> X-NVConfidentiality: public MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0c7d48a7-13c9-4625-141c-08d92bc6a5ab X-MS-TrafficTypeDiagnostic: BN9PR12MB5116: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4714; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dPqjowtCTeWXsAiQ7vCo2heojgm0zEWaGfaAH92yVq8XBJ2xfAoxZaSl3zwgbBgjUWSD/pqyYd2UFjPvB/hCUnaMExNaej4ngkB3fA1hnA3nm82xVzInj5P9JvAYnuAZZyBO73HnCF+QMwIYZ6ZLlYybpT1idA9yYbe9Ao6cXbbW21KqtioA6p/Kd8FQ9fjFaI0J3+sZDtjm57sHTgPyDsNZ1I/qgwexEXopH1G2S5xcTHaG0ZQFETioqSTUYNzYxGtYTElupwtlvVqv9cQfEkgXNAb9GBK4nqxN6ztZxHVQEq/GmHBSV6WhF+Qyh1Oku9fvRiPaJol+y/d3kx3t4zObcWePk5uQnRtn6jyV7eTboGjHL1i8cAYDzSyTUDnzOiKscPCKCx4VCh1aIYueFgqPetEf0QCidnqq5yicVWFg1q5Y4gG485WlG7oVD4a38rWv7WulIVxSNFth6OSI/KwpB/yesWjwY5sWu+Py5fw/8CtzpMx8gj7a6Nw0wQW8i/abQ9bggcQc4oyyQlrahgY9SdIh2b95gnkPUPpc9UfZHNuFJQeVrUPTQw+DfITnsiCrvS8HIQZqsjDufF4hmrNz3gaFWtLlS0iG7KDMGNhM93gBEUtagdmsppEv8vx5n6xQiGD/HGvQ6yLNnRy/DYecbBt4JVzUe/Nafg2x7Fw= X-Forefront-Antispam-Report: CIP:216.228.112.35; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid04.nvidia.com; CAT:NONE; SFS:(4636009)(396003)(346002)(376002)(136003)(39860400002)(36840700001)(46966006)(82740400003)(7636003)(26005)(4326008)(6666004)(336012)(2616005)(8936002)(8676002)(36756003)(70586007)(83380400001)(70206006)(426003)(36860700001)(47076005)(86362001)(186003)(82310400003)(5660300002)(36906005)(2906002)(7696005)(478600001)(54906003)(356005)(316002)(6636002)(110136005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2021 04:17:23.0868 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0c7d48a7-13c9-4625-141c-08d92bc6a5ab X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.35]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT011.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5116 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210609_211730_342139_F7FE09B1 X-CRM114-Status: UNSURE ( 9.00 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Domain is getting created more than once during asynchronous multiple display heads(devices) probe. All the display heads share same SID and are expected to be in same domain. As iommu_alloc_default_domain() call is not protected, the group->default_domain and group->domain are ending up with different domains and leading to subsequent IOMMU faults. Fix this by protecting iommu_alloc_default_domain() call with group->mutex. Signed-off-by: Ashish Mhetre --- drivers/iommu/iommu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c index 808ab70..2700500 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -273,7 +273,9 @@ int iommu_probe_device(struct device *dev) * support default domains, so the return value is not yet * checked. */ + mutex_lock(&group->mutex); iommu_alloc_default_domain(group, dev); + mutex_unlock(&group->mutex); if (group->default_domain) { ret = __iommu_attach_device(group->default_domain, dev); -- 2.7.4 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel