From patchwork Thu Feb 24 15:53:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108309 X-Patchwork-Delegate: ajit.khaparde@broadcom.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 C66BAA034C; Thu, 24 Feb 2022 16:54:09 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A549941156; Thu, 24 Feb 2022 16:54:09 +0100 (CET) Received: from out203-205-221-210.mail.qq.com (out203-205-221-210.mail.qq.com [203.205.221.210]) by mails.dpdk.org (Postfix) with ESMTP id AF9B84114D for ; Thu, 24 Feb 2022 16:54:07 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645718044; bh=uy3yew7NlavvrERVfiiN+3pGvYqXqPJcylTp4gWGbzY=; h=From:To:Cc:Subject:Date; b=QDmIJLQ9J/jAHx/rOeRpYIs3DfYms6qFQULItgvqyvJz3VvtpGIcnIE+34h3vQcnz b7Rsv7+ixMcS7/z+aJFpCfXd+H0Lm2WXGdAYLrr5rnjMtOJRXuQ0Lr5ttFRJZuNvHQ KXNzxBaunC7FOJNMiulfHV1OjeBf3Ck1nI/hS/BE= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id D801E607; Thu, 24 Feb 2022 23:54:00 +0800 X-QQ-mid: xmsmtpt1645718040tc18u0rxg Message-ID: X-QQ-XMAILINFO: OLnGMPzD2sDVxRz6Npoc0HTRu01Fdiz+pQm11JyiyaDhrnxHo2Yo+WwHC7sVzy 2LCIKO2dcVq7BLGrjp0MpHYpFWt/bYkgQ4o3/1bCzo2l7+spsLWZi8B9Law0+k/rflYAmUmoDMCM L96FUKU66QpBO9wlh7QgU+B1avTC7xqvP/O33oJDVfqJWI8WKNK+ssFEERvjbJLYks7xD/IpEzQk 00fj/7M//XCp97aufRr91Rgs5/2zvyq7uW500phNJdqTOLu+OKMXR2hwmhzjUW7QggL5bbIe7Iib hkMn0LDpKTUsrWlGcM2mZpzm2hXWeHwRo/GzU0GU6VvPLCYbkg5F732+EEBmLC1IVTxEGxXriii9 3BUus0kNazA6eONlQP/SWow4Y+h2UZcyzT2rDe8LOAux5IiFaLmgxYAxr483yllIRE8jFwiKNyC4 5BM/8Mjtu5FgzEjE6jHsZK5iVSs4UE4K0OBsvYydn+eLP3xUYjcG7YdA7UWXOsAb9piKnLK2WfO1 0FPIQqSf8IoYrUBd+gOiN8S3ATCu0g9dcUc83aCKHya11k4+7IFoCbnZ7a+Uj/cWV5jbeptDo9sK We10cSDwsKLxYHAL+GZSTfloKsj4ejl94Uotood24YkmICGb5n6JHvOGDaladWh411NRshMf3ygR Phf8S3csvwrpqDi5g5xBy5JzXhk5D4+jOuPWw2+z8yKLuvYdNDtkXicvTvByYNAmemOX+N6dHS+j EyBNU/S9EingWrdAOcq8S3R2ytJGd9HadL5eFCZQnWwxySEiBLYQKr52gymrIuD0bDKZqRQ0bFOt pktGybFORx0dSICW+QK5vedsiD+ILG7oc0hjqpE/QR9a9WFTZCNajK4InfDvEuNg8Ufy8KJ2bAr1 /SnU70SIf8TU3yPBfbvMTgGWainV0yXuFVwqE8o8FfUskVYuHE7dm0O8llqbL3KQ== From: Weiguo Li To: ajit.khaparde@broadcom.com Cc: michael.wildt@broadcom.com, dev@dpdk.org Subject: [PATCH] net/bnxt: fix a null dereference in cleanup label Date: Thu, 24 Feb 2022 23:53:59 +0800 X-OQ-MSGID: <20220224155359.286242-1-liwg06@foxmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 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 Fixes: a46bbb57605b4 ("net/bnxt: update multi device design") In tf_session_create(), there is a case that with 'tfp->session' still be NULL and run 'goto cleanup', which will leads to a null dereference by 'tfp_free(tfp->session->core_data)' in the cleanup. Signed-off-by: Weiguo Li --- drivers/net/bnxt/tf_core/tf_session.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/bnxt/tf_core/tf_session.c b/drivers/net/bnxt/tf_core/tf_session.c index 9f849a0a76..c30c0e7029 100644 --- a/drivers/net/bnxt/tf_core/tf_session.c +++ b/drivers/net/bnxt/tf_core/tf_session.c @@ -230,10 +230,12 @@ tf_session_create(struct tf *tfp, "FW Session close failed, rc:%s\n", strerror(-rc)); } + if (tfp->session) { + tfp_free(tfp->session->core_data); + tfp_free(tfp->session); + tfp->session = NULL; + } - tfp_free(tfp->session->core_data); - tfp_free(tfp->session); - tfp->session = NULL; return rc; }