From patchwork Wed Sep 29 03:20:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: YE Chengfeng X-Patchwork-Id: 99959 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 00DCDA0547; Wed, 29 Sep 2021 05:21:19 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D423340E3C; Wed, 29 Sep 2021 05:21:18 +0200 (CEST) Received: from JPN01-TY1-obe.outbound.protection.outlook.com (mail-eopbgr1400093.outbound.protection.outlook.com [40.107.140.93]) by mails.dpdk.org (Postfix) with ESMTP id 134AF4068E; Wed, 29 Sep 2021 05:21:18 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l0D7zV2F8uH9wSoBMgwzwePqyUvsRJAa/BSJOd3a4cbFtGoGCeIiXhAkB5P9vnLcnbiZ44xRutFGwxMs99GSOUC81Lt2+KXCGZcRS1/IQUyL2A/IOZ72eyqsqN7T/wpv4wFHpmbhBmkedmwmP818Eluug6FDGLRJcON17XWwOlzEFv2uukdcMT1F90Mot0ZzXRJ6OtwmPhl7s7yvfnU9QHGDAyW21v1fBbQOu2EOO4Jc0toyXjF/tZmXVUxSeDB6SyeICfslFlAWMb1+10KWromRmfvr6fh7tt1rA+A2nxYB10OK059vcUxtnqqPu8SobKfTF57mGxvaKCV6sTeeyQ== 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=aCMYJTl6wBN+8s7GJaLiwCsJJqImvFsfG+mKp6of7uo=; b=jnZpJ4GnA0WSv+yCeC0IvO8px9bpAqC7lAdrWzU9SIPoaCkRWt5Gav4MykXL4tgMphQ4Qzr8bPKUaD8emLCwbmupFeUuEgKTntifCFQZFWnfXF28mx6M7l6Kl1speDfMTYEvmBYSvR+idSTSpsXhUp2GLkOdOISMhUqSZIMucr+71Jyv+3j1lU7+zhW4enhzTNhtcATsDRojSX6twg+Z9G0I3LKFEHlwL/mtasNnmb28Rxe8NuEhVrWWNe+dV3ukVtLfO+XJB0UiM8eiF/0LPv5runYtfyokXeeokpXX+kjsd/RjJ386gDwBWvl7s8DXk/jAjkNbabArhiUsZjAMjw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=connect.ust.hk; dmarc=pass action=none header.from=connect.ust.hk; dkim=pass header.d=connect.ust.hk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=connect.ust.hk; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aCMYJTl6wBN+8s7GJaLiwCsJJqImvFsfG+mKp6of7uo=; b=UFL4kZHwi4UwC7OxdNdMm0GCKZ7ov2NuQTaQ3pl1T69PO1IbXnt/aovz9SQDI5AA6MQY/eouT1aEY4Cf7eXjwp4++bovQHh/XiIhH15agwFRrbETrIqNqsuF1achp/E+g5jbM/Pk7SLo3Fu8jtxAQp1IHpg+RKIzzD/qjAGq4fk= Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=connect.ust.hk; Received: from TYCP286MB1188.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:b7::8) by TYAP286MB0602.JPNP286.PROD.OUTLOOK.COM (2603:1096:402:32::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.18; Wed, 29 Sep 2021 03:21:15 +0000 Received: from TYCP286MB1188.JPNP286.PROD.OUTLOOK.COM ([fe80::c9ed:ad30:bae:fab0]) by TYCP286MB1188.JPNP286.PROD.OUTLOOK.COM ([fe80::c9ed:ad30:bae:fab0%5]) with mapi id 15.20.4544.022; Wed, 29 Sep 2021 03:21:14 +0000 From: Chengfeng Ye To: david.marchand@redhat.com, viacheslavo@nvidia.com Cc: dev@dpdk.org, Chengfeng Ye , stable@dpdk.org Date: Tue, 28 Sep 2021 20:20:57 -0700 Message-Id: <20210929032057.22772-1-cyeaa@connect.ust.hk> X-Mailer: git-send-email 2.17.1 X-ClientProxiedBy: HK2PR03CA0047.apcprd03.prod.outlook.com (2603:1096:202:17::17) To TYCP286MB1188.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:b7::8) MIME-Version: 1.0 Received: from ubuntu.localdomain (175.159.124.155) by HK2PR03CA0047.apcprd03.prod.outlook.com (2603:1096:202:17::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.7 via Frontend Transport; Wed, 29 Sep 2021 03:21:13 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 95775394-9f42-4f7a-f84e-08d982f8315d X-MS-TrafficTypeDiagnostic: TYAP286MB0602: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:185; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HUlF2KI4XgC5iKLe7HFRroQZEy/NDktl7hLsh6/b1GU2RzLfjmbLcDDaeij6Vec6gRkt2U5nC9qk2lzrwKK4h5kAqUdt/Bn6kJvzwcXnAhGJ14318R45cDPSHjIbua9yzhwKjzP0rib3c+VeBU67sEmCtPhji69QWNJJ140tdEus8Q9snTuClvYW9gqUl7tGQl8HcW30KK1CnZbFHvW/W3UZn2avlljt1VrbknDrrY4vnMFSRMxvhl11kYUBgsHUe88Ukjx3RM7wpzSm5dYu0MwZM6zMITiohiG0ysJNaud1BPSmbwddopcPO0wtjWp5Qx5DOXThN0Q6JDiJfmKaAjzK0zNAykIOOMD+g4Kzj5l9vlLdKnikRFyauo8xUP8FdWO/nxw58IBNVG9y+wKWVF42Ojk4yf57tcl1GAXeNUOmz7Ii04JWRuuMvyvIHL4vWP5Gjt7Fedg5i70OcbTwjY8PfOBiB/fxgc0Q6k8/YsZl4oGu7IfjrDSAjzBsdt3zWetz3S6zguUCoJbiUEZZkKxG4kZUMjNZlmMBhtCYXrVQVbcJD8IhnQPxUfMiDlSGHw+62fBt4Ij4k1GY7JZ6FhP9WQjjOE39BeYVpBkltJ7QcqGrfPeuR0XioLls5Koyo82YcJOuObjlDd/x2XomRnJJjTKbIFPJmXNMxFNm2pK2kwZW4ouC0pxP16b34jWZPMGK3djTgrJhDT9HP02/dA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYCP286MB1188.JPNP286.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(4636009)(366004)(4326008)(8676002)(52116002)(956004)(4744005)(8936002)(86362001)(316002)(1076003)(6506007)(5660300002)(2616005)(786003)(83380400001)(186003)(66476007)(6512007)(2906002)(36756003)(66556008)(508600001)(6486002)(6666004)(66946007)(38100700002)(38350700002)(26005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9MPu0AA1wN+pYevGrlOXCgyCB2Ak0HNdIEH5BIK5rZJV1ZLNFg+gVH1Lj6OgycVWinIpzCQhGUxzdWmGNVhkpiCOP9iUF7Nlsvv8v2jHnEJUkIUrbEPm72CRlSlMuGq1Cs1sRWpYDwaHz1/XRlz/Hj59KPqQ/ViOAiSr+jcndllZPhSnnvCYpw3mJ4q0Tn5hrgLlDr3tzmypNdUusSdkV8VwEtz/yBRe95AcBu4FWLhU9oznxdyXAuf67jdlyUPCw9fpCLQvwMbxqE7GrRksSFc7XA/QB/OFqEnnYgJ02OwFsSvl2mFD9YEjjtEPNwsz4d3z398GoyQjU8zs8e9tJ2pZfyyY+aYLD9EcbjfrM8zCDOlXezL251Bq4sZrqLHQ9GSa9z9SrZDi0MvyIVmhytgAhjcEbuQP9esm1YLJe9od8d8exT0NbGm2RH6++fAihmCBimw8Fx68kSDqRa/v9CwyMhDz+4OOcStOEMf5PtypGm9kQWKREto8ik6ZAkR4IlQd9274PRKL0GzoAlia9ba5OmE7U4qzJ3dvFymfoVeV0dg2EYYJZTFyY7XJwDnn8hbvCkbsPUo2nB9YmskfZrP2LbIiMmzzkwSzrjku73em9qNTOToioqSVj9Hp7WYGJLrlMcQywV3GAqmePXNwLLola6vBJQIz9anLTXdYDDGBXhJ7TFWnmlXXNMEdHvrYwor4ZXzWUmaZB8+qlF/Sz/3Nun9s86jv7NWmuXW2fXl8YS4LKQ22QlONqXH3XmnHzGEui8KuIaxaTCpfXD+3C4X2Qen1hWoEKSy8swS+D9RGUwBaPgcTQGTaRNViboYyFPwjAKmbBMcnWSHD7TVCBPyg80BWqtMEUKapH7p51kVUvRH7kbsTGxZMqvpOOa3a27K/JOwX7HiuqylpgVKSi888wYnphejNYmOys+TO9k4AQjWh6q3JLQ+syH/mHlkTqVUcX8JcKQXLr7LtDF1zVYieRIvaZGcDZbMTtsVteTnmjWDvpMj+4Gt4loMBsiH/aOfHK6NPeVBesEsGntfqHJibGooPuihoTIvBhUclR6j4aFntYdKyKSgAk7VtfAWNMjMYdiadt1SXpSknr6L7EfglXB08p2ZUPJGF3kjA+YU8S/feZkOOmzmNraR4YdnCxU43kCd7q+SmBobCCbyp5JNLjAXxAWY9463UJXPWhaOxjPm91O/Laz2P/UftAHKjTa0VWvfQrgXl3stWCSo1F5zbeCWUgrfzorVffCORvqVnylAFHlev/HeoFzvBkV08ZyC+bUAjlSDedJqO1ZgDvu3LTntjjv1hSgNqG3iNj5cEmcPKvx3EJSrzwM/uHmeN X-OriginatorOrg: connect.ust.hk X-MS-Exchange-CrossTenant-Network-Message-Id: 95775394-9f42-4f7a-f84e-08d982f8315d X-MS-Exchange-CrossTenant-AuthSource: TYCP286MB1188.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Sep 2021 03:21:14.4723 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 6c1d4152-39d0-44ca-88d9-b8d6ddca0708 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: SiH/AFte6wyoRJp3D2F+ufTEqF4rHshvifnphS2IwPn9SWIl2u4nyGMvzW3cYydlgLZZDU6JUdsS9DODklEznw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAP286MB0602 Subject: [dpdk-dev] [PATCH v5] net/mlx5: fix mutex unlock in txpp cleanup 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 lock sh->txpp.mutex was not correctly released on one path of cleanup function return, potentially causing the deadlock. Fixes: d133f4cdb7 ("net/mlx5: create clock queue for packet pacing") Cc: stable@dpdk.org Signed-off-by: Chengfeng Ye --- drivers/net/mlx5/mlx5_txpp.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_txpp.c b/drivers/net/mlx5/mlx5_txpp.c index 4f6da9f2d1..0ece788a84 100644 --- a/drivers/net/mlx5/mlx5_txpp.c +++ b/drivers/net/mlx5/mlx5_txpp.c @@ -961,8 +961,12 @@ mlx5_txpp_stop(struct rte_eth_dev *dev) MLX5_ASSERT(!ret); RTE_SET_USED(ret); MLX5_ASSERT(sh->txpp.refcnt); - if (!sh->txpp.refcnt || --sh->txpp.refcnt) + if (!sh->txpp.refcnt || --sh->txpp.refcnt) { + ret = pthread_mutex_unlock(&sh->txpp.mutex); + MLX5_ASSERT(!ret); + RTE_SET_USED(ret); return; + } /* No references any more, do actual destroy. */ mlx5_txpp_destroy(sh); ret = pthread_mutex_unlock(&sh->txpp.mutex);