From patchwork Sun Sep 12 10:36:23 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 98703 X-Patchwork-Delegate: rasland@nvidia.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id ABF2DA0C43; Sun, 12 Sep 2021 12:36:58 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 313F8410DC; Sun, 12 Sep 2021 12:36:54 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2045.outbound.protection.outlook.com [40.107.94.45]) by mails.dpdk.org (Postfix) with ESMTP id 33DEA40DF8; Sun, 12 Sep 2021 12:36:53 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nfjOZH/8D2QZqw0y5vxApLu2zzbY+V8j85HOdbGp1/Hf8u5pQjpdiNaloQQC26iBwziyIS4aVZWYQgbkpg40fCsq2KwxDkOWzHTmKZ+pvvOFrTCXEfKjGhN/ZWSSycnqjsa4SxWtOl4kudmlB034IFciPj8YLKUcsZamkrlybOFDCRhgX5KE32b4EDByVPuRQwX1rUnnZc3UBsdOL4gXAtQBDrWUATvkka4Z1kUpuWjLjjg1MgS9Pfz+atyqFhv9lXATglPkzTQ21cNa6sQe2aYAsXa/Z02hb1zWD7MKrmD/lfHLaAVHzw8lAN7QlQqbwI2ikFVcwEGeTTjtgxpbEw== 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; bh=jI4r4R5iHgjEC+uGP0XkOZdL5aij2AzNSajvHp13G+A=; b=IafwTEnLYiI/rn34Z6ktkyNhs6jB+pBUyb+zIeiZhXQCnz3bracrhpZX0OOcJNgM3rUrFfLJR/EbEFIIDE0NAAtN4DsMpDjnkPz6fTO5licTE4KDm7JjKo4OkFC/AOFom9meEmqsoARb3bbDBqYZ6tKZv1uj18nDgLWsZIyLI/uxLFMKYngqO0wIBy1R+2lXyuENlo/fcpIIhzcOiy9D/5RWCXUBDvukJcRWcmkRP9BU+cVVkAWeXsT8EfS5TvhK1BbzrBACKulgbyI4S2aD+XrHoiuwxQ4CQ1/iYzEDa9lhAW/lhvGxlPnF22JDICa1eO/0OGblvAAyDFf/Sj2/og== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.35) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine 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=jI4r4R5iHgjEC+uGP0XkOZdL5aij2AzNSajvHp13G+A=; b=ZqtQClI0BRieBDkGdlskolVyO/HsssOMvhy4SxYOO/aPvQwZiJv3PXazHBRNkDK345CKlcTm3wt+Vq0HEaX12bkxV2v1tlltuw0+PqRkAgNMt2xbQ9ftgTCE4pQcY7wfMcnrbTtGB29IdOkecTS65Cz2hWP2zD1X7me24uxQWdxNlhKH1XLDR8hEp6tWqKC13tfnnlOpNwomCJdyO+s5jj0aYWq6xFFN5ZeQ0jdx0Ht/Ni1Zv3UlkX1TepDCH8YtvkRc8Qpx7UUOm4eb3OAM0y9JCFYc0ocJyJT1B+I1G1qGcczv23WZXdz21O1cJ4nAkFz68AsttRDbJMzwqR7WkA== Received: from BN6PR21CA0014.namprd21.prod.outlook.com (2603:10b6:404:8e::24) by CY4PR12MB1496.namprd12.prod.outlook.com (2603:10b6:910:10::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.17; Sun, 12 Sep 2021 10:36:50 +0000 Received: from BN8NAM11FT062.eop-nam11.prod.protection.outlook.com (2603:10b6:404:8e:cafe::43) by BN6PR21CA0014.outlook.office365.com (2603:10b6:404:8e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.1 via Frontend Transport; Sun, 12 Sep 2021 10:36:50 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.35) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.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 BN8NAM11FT062.mail.protection.outlook.com (10.13.177.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4500.14 via Frontend Transport; Sun, 12 Sep 2021 10:36:50 +0000 Received: from DRHQMAIL107.nvidia.com (10.27.9.16) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Sun, 12 Sep 2021 10:36:50 +0000 Received: from nvidia.com (172.20.187.5) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Sun, 12 Sep 2021 10:36:48 +0000 From: Michael Baum To: CC: Matan Azrad , Raslan Darawsheh , Viacheslav Ovsiienko , Date: Sun, 12 Sep 2021 13:36:23 +0300 Message-ID: <20210912103628.257499-2-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210912103628.257499-1-michaelba@nvidia.com> References: <20210831203732.3411134-1-michaelba@nvidia.com> <20210912103628.257499-1-michaelba@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.187.5] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To DRHQMAIL107.nvidia.com (10.27.9.16) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 971c1599-c990-4158-4812-08d975d93ae1 X-MS-TrafficTypeDiagnostic: CY4PR12MB1496: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2276; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: W2y0QbWaT/Ov0+3byKjxKt/ZXJSqaO1K/H6gzIYvtaS9jrk3nlMvIZSi8r+7IUdcDf0cxquwLweCS3oJUAS+KgaCM9teZtrDqcjrzIny0k/k762aiIVthRwGF9K/4Lv/51AWBnRz29CSuvfDyR8hTrsptqaX3bgLmQwLNd8DIqEYUkDezm+g52GgE2rzzVM8DlD2Xk7u/6PqIHYK9VwY/xlEJdYWJdYy1eTFm+SYJpYY57CUASLKby7tL4wlXF70eOZfCz15ZeE7TNJEr9WIl6iCS9AyKnmQq1JA8Tg87qJAkRCN3I2H17u7Q5wHMydnu7jG1rIBgkNT1qDciKtdP2A8ZwJsmG7g72dAsmBNMljG8puGylh/JO7AJdVVKRpLeog12Vuic8deTEaCUShOQ7f2iqcYSB3Sxcn8bdb6APEesuE9sEj3iiGcrD3giAyFFdI+nysmUrytSDpg0hh6nzK6u1nlCGGHGZpChqQbFV3PKPILLIWieQ54K89j4UJNpSn9s+cmfAGGrNO2h7u8sUP6AOHkkiByzFE/ORoSE40o+XVXshKzMrifto/U6VHBmCFePTQT3pzEobpKrHaLdWlY3npF4OMVsN0bkA53Qbm66qojOejb3qcl8Z3IhCDkAaDt0ImPRX9uL0rZKqxpK8/PU8a50xEbj/SpKoM3F1kAsVFhjgchtgAJFIwFODXLNlxhvmDYXTGtT8cHoB1NSA== 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)(39860400002)(376002)(396003)(346002)(136003)(46966006)(36840700001)(8936002)(86362001)(6916009)(36756003)(426003)(450100002)(54906003)(8676002)(36860700001)(6666004)(83380400001)(6286002)(7696005)(1076003)(478600001)(26005)(4744005)(336012)(47076005)(16526019)(2906002)(356005)(5660300002)(70206006)(70586007)(82740400003)(7636003)(186003)(2616005)(4326008)(55016002)(36906005)(82310400003)(316002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2021 10:36:50.4032 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 971c1599-c990-4158-4812-08d975d93ae1 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: BN8NAM11FT062.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1496 Subject: [dpdk-dev] [PATCH v2 1/6] net/mlx5: fix memory leak in the SH creation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" In shared device context creation, there is a missing validation when one of the btree memory allocation fails that will cause a memory leak. This adds a proper check to clean resources in case of failure. Fixes: 632f0f19056f ("net/mlx5: manage shared counters in three-level table") Cc: stable@dpdk.org Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index f84e061fe7..f0ec2d1279 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -1254,6 +1254,8 @@ mlx5_alloc_shared_dev_ctx(const struct mlx5_dev_spawn_data *spawn, MLX5_ASSERT(sh); if (sh->cnt_id_tbl) mlx5_l3t_destroy(sh->cnt_id_tbl); + if (sh->share_cache.cache.table) + mlx5_mr_btree_free(&sh->share_cache.cache); if (sh->tis) claim_zero(mlx5_devx_cmd_destroy(sh->tis)); if (sh->td) From patchwork Sun Sep 12 10:36:24 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 98704 X-Patchwork-Delegate: rasland@nvidia.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 15C5AA0C43; Sun, 12 Sep 2021 12:37:06 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BF4AE410F5; Sun, 12 Sep 2021 12:36:56 +0200 (CEST) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam08on2078.outbound.protection.outlook.com [40.107.100.78]) by mails.dpdk.org (Postfix) with ESMTP id 3A68D410E0; Sun, 12 Sep 2021 12:36:54 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TvvEVHM58LyAtYo8dPz8JylgIexjXvja3rs2T6JT0shqRW3Zlap2JdUJbfnufTAro83qxkOaBqnMvD9XlOBviWbfpONsrtmYTaIQ3fP5Xpq8XJYlzAaNKO61iMIeolwQ9bMzCvJwcvpg71HEyVAEq8A5yKXycCH06ORneEiJKAafOqHH2MYMPM3/qffT55Zahuj/vSJemVmYfSjcfme12qYIfTLdB7OvPZxGP04j3/VpF0l2jFaiHX+NjWO/DEa3F5TfLgIAh2bXqVX6xExkf3DI1uGAPrhU3RcwekLvaRTkxGaCAtF1GfHCuukD5qofhqTDgyE8RLb5Oo/hpaC23A== 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; bh=s+L8ZF1yZsQ5cnYQ+rWcERmDZ/nzZuiGoyzz8a9QfQE=; b=aTb0EJbBWad+MjneHwu/zQPdriccJ76HpFe/8oUhhLNzwW3xp+DgAY9Jit2N+XTXxo2u8oGIVsKUmtNKQw35mrh75n7gz6Ul8oFmKIwT2WsiyIwT2URnhUyEU2/+WoqXLMy8gZ6G6UU0jRePqCGl68NVEHdP5s12fYnSqulkmJCS0rAvB88K2ywX+eQSFLMW158FrQ2ijCLg9uR9Vbq0jzPBmTiknKW2AnWhAO/z0iVVtIHeE0IjWzlVIenbobAVfscLUJfJWb5YWoTjRfYRSCWZs986Yp/k5gRL6rhRAxVNEmGyQv0MP6Ic6JVd8Srp0DwMvKBCoUzaJS3+Pj9QtQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.32) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine 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=s+L8ZF1yZsQ5cnYQ+rWcERmDZ/nzZuiGoyzz8a9QfQE=; b=PWLgyFFbzEtYqanfwL2n/GIaw8renkxMXYsWGRRAe76RTqt4mzjHGNNR51USMsPNmPjvAgWLyXdwNw8dc26czJNwb5jKf1v9LJdq33bza7SCEiDXpqxrBBgg5iiCKLdy74JIvdbWSK1m7/GhVWWmoStNfszXYrU3IKfPgVmpSVUbtWTNuG5TcOK7dM9Cp2/1mGtQ2R86o3VpWFfDurGPa21JX5Uf6f4j9GSYA+ekmJ+OMnFzFsogY4PcjVyAGpO50wOqsz9FDfLofE/ASGfLXk3ZBTsSeIp3qEfFl8iHAtlAbqSh40QWI0li7Cfy9mKlnTw9LrxNdis9RV9CyRZdqg== Received: from DM5PR16CA0017.namprd16.prod.outlook.com (2603:10b6:3:c0::27) by MN2PR12MB4565.namprd12.prod.outlook.com (2603:10b6:208:26b::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14; Sun, 12 Sep 2021 10:36:53 +0000 Received: from DM6NAM11FT012.eop-nam11.prod.protection.outlook.com (2603:10b6:3:c0:cafe::9f) by DM5PR16CA0017.outlook.office365.com (2603:10b6:3:c0::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14 via Frontend Transport; Sun, 12 Sep 2021 10:36:52 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.32) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.32 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.32; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.32) by DM6NAM11FT012.mail.protection.outlook.com (10.13.173.109) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4500.14 via Frontend Transport; Sun, 12 Sep 2021 10:36:52 +0000 Received: from DRHQMAIL107.nvidia.com (10.27.9.16) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Sun, 12 Sep 2021 03:36:51 -0700 Received: from nvidia.com (172.20.187.5) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Sun, 12 Sep 2021 10:36:50 +0000 From: Michael Baum To: CC: Matan Azrad , Raslan Darawsheh , Viacheslav Ovsiienko , Date: Sun, 12 Sep 2021 13:36:24 +0300 Message-ID: <20210912103628.257499-3-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210912103628.257499-1-michaelba@nvidia.com> References: <20210831203732.3411134-1-michaelba@nvidia.com> <20210912103628.257499-1-michaelba@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.187.5] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To DRHQMAIL107.nvidia.com (10.27.9.16) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1acdba15-6150-4300-c9aa-08d975d93c39 X-MS-TrafficTypeDiagnostic: MN2PR12MB4565: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1051; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZvPIaA11aDInN8gE/dTY1ZXbJxyqxSfSe3G6pEWe7ph/r9dT3sGjSn8YPWvsqxRJrBgBnKjQkJMlUwRgkouqRJ8zi4Qh7v9Y1aQGxK2bbQMjY1hWw8xostmSXZIECJxQ6jejspVKN5SfNPb7mzuL/BMq1BUUteELdMsq9CYiFDF8kdkKYX8vl3r3HSfD5vJd4Zm+cc3yFy+PkSkA1R44h/eLt3hhGgDJUlVBdaW46BvLpsVhNhGjy7VwZklG0tibVCtHlfEsq+2v9PmfmuPYPffydMGpzm6lJHm+WKUlCC/q5Xzq4rV9rkMeubWdy03ApUApbUBkLgLyDtvHpqt0cpV9JkxFTw9Y/GP21uLi8fTM3/EkAln93V2ZJASL9k2PHgGnJ2RgoiBAH0QFe+1mumCcRb7ECCezySTT8IEsr8yteZja3yTuaDwqZ6qWhrET56qqMQKfF+ir+chpFuXic8roS6gQBsOwStIEy4Uje+UbOyD+hRNAYG79nle/16jzCs8KtP7EHQWjJH7pC543i+eWeEG0pEJWUbl+XLNDbkMw6OKoZtWDtwg0XFD+Zw9s3kfpOOmVjQEnqfi71wdp1FlYxuUS91putxdL2M+2Y3VtWjH0io8CgB8VHd6Bu6waFKiORchQmJco3dww3z2MEpgQwxBf/HcuFRQZWNxmJR3A/AiWaQ8mPJGcARG7bCCWMOKUhvR+0N/PA4l9IeBdhQ== X-Forefront-Antispam-Report: CIP:216.228.112.32; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid01.nvidia.com; CAT:NONE; SFS:(4636009)(46966006)(36840700001)(336012)(86362001)(316002)(2616005)(8676002)(36756003)(82310400003)(450100002)(7696005)(36860700001)(5660300002)(26005)(83380400001)(70206006)(426003)(2906002)(1076003)(186003)(16526019)(508600001)(55016002)(4326008)(47076005)(70586007)(8936002)(6666004)(7636003)(6286002)(54906003)(356005)(6916009); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2021 10:36:52.7370 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1acdba15-6150-4300-c9aa-08d975d93c39 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.32]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT012.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4565 Subject: [dpdk-dev] [PATCH v2 2/6] net/mlx5: fix memory leak in PCI probe X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" During PCI probe, the internal probe function is called per PF. If one of them fails, it was missing a prober destroy for the previously probed PFs. This fixes the behavior by destroying all previously probed PFs. Fixes: 08c2772fc747 ("net/mlx5: support list of representor PF") Cc: stable@dpdk.org Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/net/mlx5/linux/mlx5_os.c | 13 ++++++++++++- drivers/net/mlx5/mlx5.c | 2 +- drivers/net/mlx5/mlx5.h | 1 + 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c index 5f8766aa48..3d204f99f7 100644 --- a/drivers/net/mlx5/linux/mlx5_os.c +++ b/drivers/net/mlx5/linux/mlx5_os.c @@ -2700,9 +2700,20 @@ mlx5_os_pci_probe(struct rte_pci_device *pci_dev) if (eth_da.nb_ports > 0) { /* Iterate all port if devargs pf is range: "pf[0-1]vf[...]". */ - for (p = 0; p < eth_da.nb_ports; p++) + for (p = 0; p < eth_da.nb_ports; p++) { ret = mlx5_os_pci_probe_pf(pci_dev, ð_da, eth_da.ports[p]); + if (ret) + break; + } + if (ret) { + DRV_LOG(ERR, "Probe of PCI device " PCI_PRI_FMT " " + "aborted due to proding failure of PF %u", + pci_dev->addr.domain, pci_dev->addr.bus, + pci_dev->addr.devid, pci_dev->addr.function, + eth_da.ports[p]); + mlx5_net_remove(&pci_dev->device); + } } else { ret = mlx5_os_pci_probe_pf(pci_dev, ð_da, 0); } diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index f0ec2d1279..02ea2e781e 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -2386,7 +2386,7 @@ mlx5_eth_find_next(uint16_t port_id, struct rte_device *odev) * @return * 0 on success, the function cannot fail. */ -static int +int mlx5_net_remove(struct rte_device *dev) { uint16_t port_id; diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h index e02714e231..3581414b78 100644 --- a/drivers/net/mlx5/mlx5.h +++ b/drivers/net/mlx5/mlx5.h @@ -1483,6 +1483,7 @@ int mlx5_udp_tunnel_port_add(struct rte_eth_dev *dev, struct rte_eth_udp_tunnel *udp_tunnel); uint16_t mlx5_eth_find_next(uint16_t port_id, struct rte_device *odev); int mlx5_dev_close(struct rte_eth_dev *dev); +int mlx5_net_remove(struct rte_device *dev); bool mlx5_is_hpf(struct rte_eth_dev *dev); bool mlx5_is_sf_repr(struct rte_eth_dev *dev); void mlx5_age_event_prepare(struct mlx5_dev_ctx_shared *sh); From patchwork Sun Sep 12 10:36:25 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 98705 X-Patchwork-Delegate: rasland@nvidia.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A3268A0C43; Sun, 12 Sep 2021 12:37:12 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1B8AA410FC; Sun, 12 Sep 2021 12:37:00 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2043.outbound.protection.outlook.com [40.107.244.43]) by mails.dpdk.org (Postfix) with ESMTP id 77DDB410F6; Sun, 12 Sep 2021 12:36:56 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bq0RXoYGeklxnaSSqUaUIGNqKkoeTfk8Es5FsaLrH+7q836F4VBMCjmt3rtath68dikAxWAD5M57VwjIJNsRlxTyOPtTYAoCckfxBF/HtOu1Rs2y3Dy9uopIPE7bmvheAWA+tbNZrY2Q4/RbXIxM2mV6e1Go67d+p0V3sigBsYMUwVsC2xNorO6tJitDoadDCLJCdoR9tXs1ZTIrHcxbHXAJ9S3/Ieb7fdzaxkvmGCiQ7EDkXN1iRDdzAajQiSgDSshYPYLT4xV9BSolKoRwf5s5blLNOQYcIp80VRa1VDf7Q3f2RSYWawU6FMdwuAQEQmcHPriuBLgcAsK1a5n3oQ== 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=wZZKRL/7Gh824QJZC6x7nCuzKxtIX4FFlNv/X4LEDJ0=; b=DwV71HIFkM0oa1CmBQav+t+/yYFACLLCwUhMPD49G+HsRsWRDcMoSoQhzMvAXdSK9F+D9uLrnWSgAgSi8SUZU1Wn93sx7kGsiM0gw98H0FWjehZ/ot9An2B7KxwoEDOiprMe5Yr61vGO940fldiyb2a7u7N+yVQMockcFJjpQ5+t5sN/YPo2Vqnx2ie01kTJhU9T9znKX7l6U/7z8Obr9IshHOfqqCn72j9iH8j5k6iwsFJDDfPGT8SeWknYHbbCn6UVuqYtCBBKrZ13+WYr2SFKneBqBRwa2Ho6h8DN+W3hG0zm7OGKkywL8JOq3VpNUbuiyQPz2NoDvV+3+nqkkA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine 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=wZZKRL/7Gh824QJZC6x7nCuzKxtIX4FFlNv/X4LEDJ0=; b=FDQ7Grkk+92TClbtDxf/QAXo+UdGwCrGedkB0tlsfjl87MedZM4GuHghG/cDfApf4HDAtsDpAxDAOtjGXeCBMbHRzm8TiATedFgqoyrvFKPBJEYQdDjOKt1w75xbxEWk082B07pVZio7rG02yxk7Wtj4RoU9S0BLDSRhnMU4la2VcuJCJDHiLVlDLjeeev8pALOUtqECikegWhUDS4PzNyJlYMESutDjEg0IFqDkWly+bRonnqfFbGBSZn6RolIBbfhBPcfZdRoXd/R4VtIdvncxb8tNtvMw8uyjb38B4ZShia61/2zw7+DT5YyCOOSeruK1NNwt/C78jHHuUUFn8A== Received: from BN6PR1701CA0022.namprd17.prod.outlook.com (2603:10b6:405:15::32) by MW2PR12MB2540.namprd12.prod.outlook.com (2603:10b6:907:7::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.24; Sun, 12 Sep 2021 10:36:55 +0000 Received: from BN8NAM11FT057.eop-nam11.prod.protection.outlook.com (2603:10b6:405:15:cafe::20) by BN6PR1701CA0022.outlook.office365.com (2603:10b6:405:15::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.15 via Frontend Transport; Sun, 12 Sep 2021 10:36:54 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by BN8NAM11FT057.mail.protection.outlook.com (10.13.177.49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4500.14 via Frontend Transport; Sun, 12 Sep 2021 10:36:54 +0000 Received: from DRHQMAIL107.nvidia.com (10.27.9.16) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Sun, 12 Sep 2021 10:36:53 +0000 Received: from nvidia.com (172.20.187.5) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Sun, 12 Sep 2021 10:36:51 +0000 From: Michael Baum To: CC: Matan Azrad , Raslan Darawsheh , Viacheslav Ovsiienko , Date: Sun, 12 Sep 2021 13:36:25 +0300 Message-ID: <20210912103628.257499-4-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210912103628.257499-1-michaelba@nvidia.com> References: <20210831203732.3411134-1-michaelba@nvidia.com> <20210912103628.257499-1-michaelba@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.187.5] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To DRHQMAIL107.nvidia.com (10.27.9.16) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 349679fa-5cf3-4377-6614-08d975d93d2b X-MS-TrafficTypeDiagnostic: MW2PR12MB2540: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6430; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3zWw9Eh+tL6j1d5kZysAWnaEKQUoU1QvyeC2Z5l3FbtIQ3pLtgoeTVtG6k/um2ikgWK86ufFtFDn1wdw5t/EDxeCSkOubfcarm67BEHskeNOL/KIQYy5AVZN+NM1ST7WtTdIptlCXiHKm3NMJtrPudweYeXGkzfk/SWa77D6LZ0dA9iCdBvFmzW7tASnNfs5wcNfh1BjLu+SSQeP5rr/BlNaCGSYOzV6JvPsa9OJ1x2QBwW5MCYfGuQz+irpOWWc7aoTZmDhIYSINUsZJMD5LNFfOIS2rI4T0Y8Xngp0dBGD7ZwWzetJlUKzMsoOajiU7kmlfvG/AygSgsLSi+Wy5RJx82GaU22bRN0zfZXs3yCLqEcoOdnAwQlxQg2FiH970k0TSooZtGg1VZ67qWSNKugfBetqEhckvAmZHvZhXgTF+LehV+XjkEgOE87K2/1QOt4ewaiZtSXQRpZFBYPSaZfAxwpbUEB861VWR0JJGFMVJYlAa4rZ90OewzKzmJQ8LOttEujr3XliAHI9oamBL5jR9VTu5VUBNVsJXnzTUOSIcdmiiDuEBlyeOfIEL5rz7orPbLlXmvnX98lA3pRulWnHWoXY3s6NK6557agOcPlRWf9iLm6jjZCIDTkqXuQfiJsISYucZ8O90wmsoa4YFz+jy6fHFaBjYB7uZa/cY4DRql3086JXm6qzTJ+6/0mdvl6n1w1UFyTmGl2mDLt0hA== X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(136003)(39860400002)(376002)(346002)(396003)(36840700001)(46966006)(2906002)(6916009)(2616005)(47076005)(7636003)(6666004)(86362001)(8936002)(16526019)(5660300002)(26005)(1076003)(478600001)(450100002)(4326008)(7696005)(36756003)(82310400003)(55016002)(186003)(6286002)(8676002)(426003)(336012)(70586007)(70206006)(82740400003)(36860700001)(83380400001)(356005)(316002)(36906005)(54906003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2021 10:36:54.2524 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 349679fa-5cf3-4377-6614-08d975d93d2b 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.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT057.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR12MB2540 Subject: [dpdk-dev] [PATCH v2 3/6] net/mlx5: fix allow duplicate pattern devarg default X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" In order to allow\disallow configuring rules with identical patterns, the new device argument 'allow_duplicate_pattern' was introduced. The default is to allow, and it is initialized to 1 in PCI probe function. However, on auxiliary bus probing (for Sub-Function) it is not initialized at all, so it's actually initialized to 0 Move the initialization to default config function which is called from both. Fixes: 919488fbfa71 ("net/mlx5: support Sub-Function") Cc: stable@dpdk.org Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/net/mlx5/linux/mlx5_os.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c index 3d204f99f7..cf4de7e6f9 100644 --- a/drivers/net/mlx5/linux/mlx5_os.c +++ b/drivers/net/mlx5/linux/mlx5_os.c @@ -2142,6 +2142,7 @@ mlx5_os_config_default(struct mlx5_dev_config *config) config->dv_flow_en = 1; config->decap_en = 1; config->log_hp_size = MLX5_ARG_UNSET; + config->allow_duplicate_pattern = 1; } /** @@ -2564,7 +2565,6 @@ mlx5_os_pci_probe_pf(struct rte_pci_device *pci_dev, /* Default configuration. */ mlx5_os_config_default(&dev_config); dev_config.vf = dev_config_vf; - dev_config.allow_duplicate_pattern = 1; list[i].numa_node = pci_dev->device.numa_node; list[i].eth_dev = mlx5_dev_spawn(&pci_dev->device, &list[i], From patchwork Sun Sep 12 10:36:26 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 98706 X-Patchwork-Delegate: rasland@nvidia.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4D5D1A0C43; Sun, 12 Sep 2021 12:37:18 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4000E41102; Sun, 12 Sep 2021 12:37:01 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2050.outbound.protection.outlook.com [40.107.94.50]) by mails.dpdk.org (Postfix) with ESMTP id 3D05D410FE; Sun, 12 Sep 2021 12:36:58 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nDsyWPDEOsPX+NJjqgLNfeecpvARRfzwxYwKk+vVdREEa/oeoP4DsSKjumtU/F2Nalx5ZLfu+Z1CRJfskcGLU1UFmLO69d1qnKsOB6OdYEyKMaINIRJ2DdeXBK6pKVp4+NGUTo9+QjC8axltjRBWVfw296Z1YcDuRag3FCME09sNxmSzGE6/mjzUHtFvSrWJK6NKQxpP9oHh2YTz5QFaaX08IIDRrhlTqDd9IVjhaVxnlflnWx+RpDZOL7QawjxlQ0oIuPIxrQedW5tqcsKrys1ljxezujtMe9G+row++5h9bTrFeVCJIkC/FMSq5DTHMIvnyMihz6Dw/eAlNEU/ig== 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; bh=s7MHVY8KWYE6swVVQ86s4SraidtczYb8maEp6On+diI=; b=e0sf4HeT0Lg7zwE8FS+x/OydLiVeH0OyM47R1ZNs/E5BC1Krx7eIuYLFtbOjV6cA629snKY2A8cmtcdgW85Sc1jfr7q89b/9F1pNgdLmcPgoq+FLxBoTRYa3SFfrtbORRvxfHmaWhEM+yh3MTRyMn3rOdBu+4gLS76cI34MLNaZx5XnD9i6Vqdtkvet/egRffDouoFS3wVCJjmbzlHvvOpm/c2zd+iSxANalwxffCmtgvTBthbHsfhSvSKeQsmRPnZR7HJzTqlX6jPIg8pmrr7R2UUv1zUM1VFt8GEfyuPXhxJdbBOq7ndAMHxQMRuJj0zioCcbbPwfkukIykbnqFQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.36) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine 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=s7MHVY8KWYE6swVVQ86s4SraidtczYb8maEp6On+diI=; b=lrEG7rcSQyKSTidDpupVEKPj3mX9OB8l9QVyw6DLTnBAspGkFpBNdEyzCDrXAA4l8HxQZzJUlmueLJOznWREv/QvpMAqDAUzTDLCkVZiOxknrrkFo1f7xGTtBRud8edM09d+PWEvmqa/Lxa8O3mBC6kM8jPdSwkGMjf8Bh+rZzn4H1d0eF4olYSG/vLUd4W6lTuDYkaEANIhQRbLPp2Hz2cLNBqAMC0OFrchlLelie1Zp8bb7++nPTQ0M+t+tlbIzp9BcHZFf54zNV1gwmnZE+tEx9r+xmmWUVsMqkPcDVfM8mJBm2gmzMYe9Rf6yxVpcjt/jnHBpbO1iIILWNwBpQ== Received: from DM5PR05CA0003.namprd05.prod.outlook.com (2603:10b6:3:d4::13) by CY4PR12MB1703.namprd12.prod.outlook.com (2603:10b6:903:122::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.22; Sun, 12 Sep 2021 10:36:56 +0000 Received: from DM6NAM11FT017.eop-nam11.prod.protection.outlook.com (2603:10b6:3:d4:cafe::15) by DM5PR05CA0003.outlook.office365.com (2603:10b6:3:d4::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.8 via Frontend Transport; Sun, 12 Sep 2021 10:36:56 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.36) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.36 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.36; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.36) by DM6NAM11FT017.mail.protection.outlook.com (10.13.172.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4500.14 via Frontend Transport; Sun, 12 Sep 2021 10:36:56 +0000 Received: from DRHQMAIL107.nvidia.com (10.27.9.16) by HQMAIL101.nvidia.com (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Sun, 12 Sep 2021 10:36:55 +0000 Received: from nvidia.com (172.20.187.5) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Sun, 12 Sep 2021 10:36:53 +0000 From: Michael Baum To: CC: Matan Azrad , Raslan Darawsheh , Viacheslav Ovsiienko , Date: Sun, 12 Sep 2021 13:36:26 +0300 Message-ID: <20210912103628.257499-5-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210912103628.257499-1-michaelba@nvidia.com> References: <20210831203732.3411134-1-michaelba@nvidia.com> <20210912103628.257499-1-michaelba@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.187.5] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To DRHQMAIL107.nvidia.com (10.27.9.16) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0cfdc782-7a59-4f99-b868-08d975d93e6d X-MS-TrafficTypeDiagnostic: CY4PR12MB1703: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6108; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IM5Joh2o6jZdWsFhQRy3ekEEMHRrAhqLqqP72AQb9vWecnhSlevd5P/Wfm0FvoeQ9gh81Mk2IOp24I6/yvwlBKYA9lrYEV+eCkTnFdzYOMwcqEauBV32f5PTDY3ISzOEBb2hCtTXu4k+ezz+4fnLtJH6DeiG0tU5cvKGwDgHe6QBcBvOVz/GOyezjlGPbRhmqfwAUOughKhBm684caem8uSAwZxiZMr4U4EHaANt4oxSOzCfcob8R217ccG1PKKbXNprbBnH9w7OlqcQd7ZudFfzwFp5iVTj5zEo7fkhxatUti6lw5ur172hgR1JtEOb7vjbY0l5DelLOuET4UTb+dH5bOum8/ZM4PUJL424D6GDa1iAiU1hDQ7U8QqLOCHm3IQ4tYpwDZJuV2CQrDbJefE6I3Trh65lRimARxp9cG81rI2Xwp6fqpu5jjjZDO4T0dAEl0fvL96keZA/kFKx9w29C7ftiri7oh9Xhx70DZB5jTH0jMsIwn4/ufsDN2f2Gj7QA8Dl3F0ITwKh/zg8ME/FNg9+NzDUMuxQDs5IGiwvvOV8pMWnMYuf+nd0kqvF9ZPl2QWy5oZYJaYOsRqZNhuFQE009e8s4hRVaAJOYrgX1JxBLtkb/BHt+DwL2tJKx+LBC9lIHE+J+NEiM+9+96Wg661+B1bzSDfSxLHewgjkBUyXuLFXpD37KStaPjR3/vvjMGQae6XQY12nRCe0HQ== X-Forefront-Antispam-Report: CIP:216.228.112.36; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid05.nvidia.com; CAT:NONE; SFS:(4636009)(376002)(396003)(136003)(346002)(39860400002)(36840700001)(46966006)(83380400001)(7696005)(6916009)(426003)(2616005)(82310400003)(36756003)(47076005)(2906002)(86362001)(55016002)(36906005)(8676002)(316002)(5660300002)(6666004)(186003)(54906003)(1076003)(36860700001)(7636003)(356005)(16526019)(26005)(70586007)(8936002)(4326008)(478600001)(70206006)(82740400003)(450100002)(336012)(6286002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2021 10:36:56.4257 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0cfdc782-7a59-4f99-b868-08d975d93e6d 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.36]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT017.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1703 Subject: [dpdk-dev] [PATCH v2 4/6] common/mlx5: fix class combination validation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The common probe function gets as a user argument the classes it should create, and checks whether the combination is valid. In case the device already exists, it checks the integration of the above with the classes that the device has. However, the function does not check the combination when the device does not exist and it has to create it. Check if the combination is valid for all cases. Fixes: ad435d320473 ("common/mlx5: add bus-agnostic layer") Cc: stable@dpdk.org Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_common.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/common/mlx5/mlx5_common.c b/drivers/common/mlx5/mlx5_common.c index 459cf4bcc4..f6e440dca1 100644 --- a/drivers/common/mlx5/mlx5_common.c +++ b/drivers/common/mlx5/mlx5_common.c @@ -317,14 +317,16 @@ mlx5_common_dev_probe(struct rte_device *eal_dev) dev->dev = eal_dev; TAILQ_INSERT_HEAD(&devices_list, dev, next); new_device = true; - } else { - /* Validate combination here. */ - ret = is_valid_class_combination(classes | - dev->classes_loaded); - if (ret != 0) { - DRV_LOG(ERR, "Unsupported mlx5 classes combination."); - return ret; - } + } + /* + * Validate combination here. + * For new device, the classes_loaded field is 0 and it check only + * the classes given as user device arguments. + */ + ret = is_valid_class_combination(classes | dev->classes_loaded); + if (ret != 0) { + DRV_LOG(ERR, "Unsupported mlx5 classes combination."); + goto class_err; } ret = drivers_probe(dev, classes); if (ret) From patchwork Sun Sep 12 10:36:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 98707 X-Patchwork-Delegate: rasland@nvidia.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 67CFEA0C43; Sun, 12 Sep 2021 12:37:26 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2DE6441123; Sun, 12 Sep 2021 12:37:03 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2053.outbound.protection.outlook.com [40.107.243.53]) by mails.dpdk.org (Postfix) with ESMTP id D454D4003D; Sun, 12 Sep 2021 12:36:59 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Chx4wQRb84Oh6vjmWZHb7wUj2dJq52MMoq4ebOUyMWceRVY1Ms2FfDlja5jIbJxr6eMVU7wUCi1eFj3RlOAo4v5LWchd2pVnVLLONK6lDvRtMPOwtJkwBxvQVV+xfKnIaFqTyOUbwjI8bWl8EfYIrxGBmdRf60ONdmMi/yVVnCT+vtyyC/WQo4EdSsRGh4EMH3O+xUNP6iW/RZv9f6jrfdBtgoUF129tF7alMz/jhC0L7Kc1p8izp474j9l/8QCR8y4eJEcULB6zRAw793Oa2HrutxdWRZ/aRxSaaCK4dOWA8eXQqRCT3sp6GIuRxeqLaoxYY9IPg9BY8VFgL2IONg== 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; bh=yXULFrZQQipRGBJ5uwZr4/vkOOkDIu9qcrynYAHDElY=; b=JJ5iC0t1uAimXbOVnuQB5Y5rdpGwcIhRBjwXp8vOGaj+qpvfqrbwsn7oQa8pr+MMLXoBv9rvoza20YTGBHK2BBXryQmqk64fcU7FlDWmoWnFxX9ItdJwZuZeg5IeYbzwGrDgBZL8dHKTgNsdNxOslKzQQJzfQ0AJOJsiUaYEImfB7msEcJdu1N4liDPHZ91UZShlkxOhvdvzwlNvQlAA0CYK47NNeUUEt55bom0ud6vX9xK/LKWr+BaWVr/7Tt81oQ5GWbq/P7oAt/81f0sE2Q7stXB5gc7bW6KUgIt2tfn965WTTINbSCBWeb+OcmrXcjyIRmOycLqeOQGh4r6b6g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.35) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine 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=yXULFrZQQipRGBJ5uwZr4/vkOOkDIu9qcrynYAHDElY=; b=gF0XyqehIIVx+fnd2eHKrg4xSBJuKXs+Px7oz7/b3TBNDIeQWd130DJMArJG2LelXEERtW90JyNCwSQ97TwJxhPQ9N869GTfTpgbY9MA6gXCtacq1pppQKQuD9lCvl1o94+f8y89SwAs70gGaLpBnzeiOt5gK5tLZOTelWWfq2dRBdJp/gXh5PR6L0m2zK61G1RkuX9wYb3g3/uKyaofo3pdrDV6cpRC+FIqe9sF3iacS5XBpiqmAg1rrEBUDx5FAuksjy+FicQNMuuuRgeFiAnbRHg6v6KC87a+aen3/Hn0U+YZP17CSZRTOhOVF4FhZcm540ZReXvugU06DExlLg== Received: from BN9PR03CA0210.namprd03.prod.outlook.com (2603:10b6:408:f9::35) by BY5PR12MB3972.namprd12.prod.outlook.com (2603:10b6:a03:1a8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.17; Sun, 12 Sep 2021 10:36:58 +0000 Received: from BN8NAM11FT023.eop-nam11.prod.protection.outlook.com (2603:10b6:408:f9:cafe::2c) by BN9PR03CA0210.outlook.office365.com (2603:10b6:408:f9::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14 via Frontend Transport; Sun, 12 Sep 2021 10:36:58 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.35) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.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 BN8NAM11FT023.mail.protection.outlook.com (10.13.177.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4500.14 via Frontend Transport; Sun, 12 Sep 2021 10:36:58 +0000 Received: from DRHQMAIL107.nvidia.com (10.27.9.16) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Sun, 12 Sep 2021 10:36:57 +0000 Received: from nvidia.com (172.20.187.5) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Sun, 12 Sep 2021 10:36:55 +0000 From: Michael Baum To: CC: Matan Azrad , Raslan Darawsheh , Viacheslav Ovsiienko , Date: Sun, 12 Sep 2021 13:36:27 +0300 Message-ID: <20210912103628.257499-6-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210912103628.257499-1-michaelba@nvidia.com> References: <20210831203732.3411134-1-michaelba@nvidia.com> <20210912103628.257499-1-michaelba@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.187.5] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To DRHQMAIL107.nvidia.com (10.27.9.16) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7c7b3842-df95-4c5a-cd37-08d975d93f89 X-MS-TrafficTypeDiagnostic: BY5PR12MB3972: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cMdepdL0b7b2SHo9gdY+Xz9jPrJs7GtP25oD+hGYuKGFraolkgknLmhu0kcmsHtJ7Iu3pWFxADxVAK5ctYtTLyXLYNjYYX1dH00v6UmQpZf67mQATtR9r5t2Q2tXyZIXoS0/D16ZcPJlKnpyFcNjQbH5cOq/u3bLSEdX51m+rnWleupjSXCw7KH/uFNC7OFLihAvcVt/02fn24j2KJ+yOSE0X0JPWMlVrIrhSViOTzYiWhdXOuYjngYt9weUqIUf68mzzOqQt3oLRCALEypTrkZbvEFl40Icczv6hgggmIcGrgjRTAvboqkD1nKbmSW39TEuUZECi0f5fIlbcP71YNob/YYRPLNretpjhDpGPv41TUZab8+u8SJ0E+rchbrZWlALnxiuxkwgnwucAJLujjg+dVyaQMGEdcgNFx81vqTs1S8Jb7EY0GurJUIvhOd62hYyvqpd3JC/nN7var1XXuH5SAu4vcX7Z+hiDO1ZyxAvhnOT7Y3VjP53xGm8gQsDIQEFq0s9GyKxPolcDDWjAbLzTfp5tSTogMVBMIOQIZXuIhvPULHRKNrKMD7pFakGBuLuruljJ9ndwgjnmmtuF4k9Q68vdtBs5Eez3moKxJ/6yjLp5r9i3wQ6ysq2X4HXu+W9yhJcKogfk5Gif8hhBDuBgmEmqMkgld7AJDaU1VooRw1Qo+dhFq5lw3H22n+psjMGbqJ85Uth2PqS2FMf+g== 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)(346002)(136003)(396003)(376002)(39860400002)(46966006)(36840700001)(478600001)(1076003)(450100002)(5660300002)(6286002)(8676002)(70206006)(6666004)(86362001)(83380400001)(426003)(70586007)(6916009)(54906003)(2906002)(26005)(36906005)(8936002)(82740400003)(36860700001)(82310400003)(16526019)(7636003)(7696005)(356005)(55016002)(316002)(47076005)(2616005)(336012)(36756003)(186003)(4326008); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2021 10:36:58.2195 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7c7b3842-df95-4c5a-cd37-08d975d93f89 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: BN8NAM11FT023.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB3972 Subject: [dpdk-dev] [PATCH v2 5/6] common/mlx5: fix device list operation concurrency X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The MLX5 common driver has a global list of mlx5 devices which are probed. In probe function it create one and insert it to the list. Similarly it removes the device in remove function. These operations are not safe as there can be such operations in parallel, by different threads. Add global lock for the list and use it to insert or remove. Fixes: 8a41f4deccc3 ("common/mlx5: introduce layer for multiple class drivers") Cc: stable@dpdk.org Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_common.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/common/mlx5/mlx5_common.c b/drivers/common/mlx5/mlx5_common.c index f6e440dca1..4321cb3a9c 100644 --- a/drivers/common/mlx5/mlx5_common.c +++ b/drivers/common/mlx5/mlx5_common.c @@ -50,6 +50,7 @@ static TAILQ_HEAD(mlx5_drivers, mlx5_class_driver) drivers_list = /* Head of devices. */ static TAILQ_HEAD(mlx5_devices, mlx5_common_device) devices_list = TAILQ_HEAD_INITIALIZER(devices_list); +static pthread_mutex_t devices_list_lock; static const struct { const char *name; @@ -222,7 +223,9 @@ mlx5_dev_to_pci_str(const struct rte_device *dev, char *addr, size_t size) static void dev_release(struct mlx5_common_device *dev) { + pthread_mutex_lock(&devices_list_lock); TAILQ_REMOVE(&devices_list, dev, next); + pthread_mutex_unlock(&devices_list_lock); rte_free(dev); } @@ -315,7 +318,9 @@ mlx5_common_dev_probe(struct rte_device *eal_dev) if (!dev) return -ENOMEM; dev->dev = eal_dev; + pthread_mutex_lock(&devices_list_lock); TAILQ_INSERT_HEAD(&devices_list, dev, next); + pthread_mutex_unlock(&devices_list_lock); new_device = true; } /* @@ -440,6 +445,7 @@ mlx5_common_init(void) if (mlx5_common_initialized) return; + pthread_mutex_init(&devices_list_lock, NULL); mlx5_glue_constructor(); mlx5_common_driver_init(); mlx5_common_initialized = true; From patchwork Sun Sep 12 10:36:28 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 98708 X-Patchwork-Delegate: rasland@nvidia.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 86712A0C43; Sun, 12 Sep 2021 12:37:33 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E316F41136; Sun, 12 Sep 2021 12:37:04 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2083.outbound.protection.outlook.com [40.107.220.83]) by mails.dpdk.org (Postfix) with ESMTP id 4A1AE41103; Sun, 12 Sep 2021 12:37:01 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Wk1oMoHFDqOypEsojgavzNJtlL1Sv7C8+CqyVActtrJ4r9gTToIwTNTevPq+94vAHffNDgNGrTpb6ju5eMObH15GT/6EbLPxp53WfusXKgVCdmdOn7u3tNn4xFd6lcOx0prUTP657tgqHqLfpY/WOD7r1mOBewFwbFt8oUmiYH23dneVMg/OHzMqs7NlAf9lobbdLQ9U8Eo/qu+N8rtXzOICZfsmqk5wnK8fDDTm40I1hhtyOcuKZQvfGDlKwBlHMT7T04JMO30kdcltbEFysLnCA/LpKEgDwzqCjMyGaAPXUJ7oTZZZdCije6/AQXROp/L9OZQ/couipkAQXldNHg== 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; bh=K0wiE2T/ngmh2gS9qEuLMw+TR/r429LvHvqm3hQnuYA=; b=XBwy8jCbdjEGoNbZyTT/bqC0mcTRjLjosJm+YTZzKTUXAUOvqkC+OIZe5VrGLppzxomYcj9dHIwEtmLXYPwslt5YVNNn1cOwfyJeSnOV27QU0n6+7nbmxmd4YcK0b1EdNMNcCHTEtC72grqK0mtuJTEdmPAse8pxRHB3ZLCgaux9+Xg26DxddB3VUTfXOUS5nA4JvqcF3DZ0oJQzAemnFzeP+vksSsTMGaGntB1Sd36Losl/UHeapqL3v0LvbP36xKnodfF2f3tRibfAhQmrDAeu15SeZLXT4ilxNQsB7QSQG0STXFNnk8musjPQ80ihfcgKDodw/Mm8mN22Wvsu7w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.32) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine 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=K0wiE2T/ngmh2gS9qEuLMw+TR/r429LvHvqm3hQnuYA=; b=Fth+Bul2pnRgvsTZF6I9LJolkzwi6bVo/5QVj3xZb+bk5ZbK2zD+zJOFbfMPi+wAvVlXo2Xr5FXrZygcM+wCdovroPx0cFT+SSBnFt4cVg+za1+CXHGya47LobuUi3VID5/gpiKGqnYcPZpxgItG99+B+sCeDt5ds55eRGrc6IK/VvHI5IUPh6QSr4Yb/vwCzzMVamJ5M0LC+HeblgZn3p6MMaECqT+bX1awR8NmX6sukVyKtDjzNBsE4UJBLLU/sp3x19qlLZC/q8k7sAOEQzRaCCFWGNIr1Q2NCtuyMzAVZWtFVACyFl003g2ILdSnryUrX4qfubmHlqPuyngQ4g== Received: from DM6PR03CA0031.namprd03.prod.outlook.com (2603:10b6:5:40::44) by BL0PR12MB4676.namprd12.prod.outlook.com (2603:10b6:207:19::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14; Sun, 12 Sep 2021 10:36:59 +0000 Received: from DM6NAM11FT066.eop-nam11.prod.protection.outlook.com (2603:10b6:5:40:cafe::6a) by DM6PR03CA0031.outlook.office365.com (2603:10b6:5:40::44) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14 via Frontend Transport; Sun, 12 Sep 2021 10:36:59 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.32) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.32 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.32; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.32) by DM6NAM11FT066.mail.protection.outlook.com (10.13.173.179) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4500.14 via Frontend Transport; Sun, 12 Sep 2021 10:36:59 +0000 Received: from DRHQMAIL107.nvidia.com (10.27.9.16) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Sun, 12 Sep 2021 03:36:59 -0700 Received: from nvidia.com (172.20.187.5) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Sun, 12 Sep 2021 10:36:57 +0000 From: Michael Baum To: CC: Matan Azrad , Raslan Darawsheh , Viacheslav Ovsiienko , Date: Sun, 12 Sep 2021 13:36:28 +0300 Message-ID: <20210912103628.257499-7-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210912103628.257499-1-michaelba@nvidia.com> References: <20210831203732.3411134-1-michaelba@nvidia.com> <20210912103628.257499-1-michaelba@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.187.5] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To DRHQMAIL107.nvidia.com (10.27.9.16) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 63d8effc-a10f-4bf8-d789-08d975d9403e X-MS-TrafficTypeDiagnostic: BL0PR12MB4676: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wvX630pAVDWqxI1Xh2Kwp6tVJP8L+S8G8fCx2AFY3jjeAbnOazLNuzEYuVOIo0KYrE1VGHBehIVh3Z1avfNkTn0CSa8wUyTrynW2tOXIGp9FRQmRoB34nHI8LCkIo53UAzol7rds6VSY3Vx7pipJAVSJayRIViAUXuyj648NujdKxWw1bwz1pqZ2iBxjFGC+6QwEfph1bb5gZfcciCiiphSPCO8Szb79WpL+cH/ue6O3jZ7ksLkCxP8YoqUJth0qTS0MOCtu1GQTUiy3bm267s1NaDPZdwp/EWdtxxeM+Wm2wgUlg9zYEsAonu/GZhmvkzHFhaNrgFRyKNXc+0fLGsjPcrmaFYtDtNsnlRuJL77dkPkHU9m0NDLdFdrb8Q4QoqvxxlstTWln+wDNBSDk1tEjHi4Cc1bWUBPpFWARyx511YPD43AUCjUXhGM5vEoCoe75/4pkF0PF3V4ABJnSTB0jU+D7tvIfJUtYZnXjHuS+uAd4/xktNk6Odht1CFP232B05xTU9MRuYViNf23Itcea7PFeRr1Mpjyg3W++NP43vw7VV+D0+SftvFgLWorjjdEfcYlFp/3OAf+3gZCMoeF9Exr9tEuiXo7P2F71NM1OabU+2UYVWj/rGqnwUQQHZZJRmvlCXEiRJbOc3h/r53WTl+LG+eQzTdgfCsDXBWAnZIoZiqEUfskjpratOAlC7p1H04zA4ZQel0Uj8i7bLg== X-Forefront-Antispam-Report: CIP:216.228.112.32; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid01.nvidia.com; CAT:NONE; SFS:(4636009)(136003)(376002)(396003)(346002)(39860400002)(36840700001)(46966006)(5660300002)(82310400003)(478600001)(70586007)(8936002)(7636003)(47076005)(356005)(16526019)(6666004)(186003)(2616005)(70206006)(2906002)(336012)(36860700001)(426003)(54906003)(4326008)(8676002)(6286002)(7696005)(83380400001)(86362001)(1076003)(55016002)(26005)(6916009)(36756003)(450100002)(82740400003)(316002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2021 10:36:59.4729 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 63d8effc-a10f-4bf8-d789-08d975d9403e 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.32]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT066.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR12MB4676 Subject: [dpdk-dev] [PATCH v2 6/6] common/mlx5: fix resource cleanliness in a device remove X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The common remove function call in a loop to remove function for each driver which have been registered. If all removes are succeeded, it return 0 without to free the device which allocated in probe function. Otherwise, it free the device. In fact we expect exactly the opposite behavior. If all removes are failed, it return error without to free the device which allocated in probe function. Otherwise, it free the device and return 0. Replace it with the correct behavior. Fixes: 8a41f4deccc3 ("common/mlx5: introduce layer for multiple class drivers") Cc: stable@dpdk.org Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/common/mlx5/mlx5_common.c b/drivers/common/mlx5/mlx5_common.c index 4321cb3a9c..6885bbb1d2 100644 --- a/drivers/common/mlx5/mlx5_common.c +++ b/drivers/common/mlx5/mlx5_common.c @@ -354,7 +354,7 @@ mlx5_common_dev_remove(struct rte_device *eal_dev) return -ENODEV; /* Matching device found, cleanup and unload drivers. */ ret = drivers_remove(dev, dev->classes_loaded); - if (ret != 0) + if (ret == 0) dev_release(dev); return ret; }