From patchwork Thu Sep 22 13:09:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Niklas_S=C3=B6derlund?= X-Patchwork-Id: 116651 X-Patchwork-Delegate: ferruh.yigit@amd.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 007E2A0543; Thu, 22 Sep 2022 15:10:05 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E7B63410D0; Thu, 22 Sep 2022 15:10:05 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2136.outbound.protection.outlook.com [40.107.220.136]) by mails.dpdk.org (Postfix) with ESMTP id B447B400D7; Thu, 22 Sep 2022 15:10:04 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A0I4rfat8v+SmfWAN5241auDvNqn1Z6hlRO/zsSniYiRPERVSMGeiMrFWrpq2lLlqSzxb3ZOcqd2aHbcEK6R1QIHRc7Iy4AFnUXZSRQIKOhRc5F2M6hZhOg7f0AOkgrlCpXF7l6nApaPVEenIirrBvl5EVVd7fzpHZaFWH/rtFoDbDRuXCmuJ970G3IGOzc2JGYaqCzkEV6oScmo3bonz7+EWst4CJQJerBWCTlDWzJmaEz2G4AwuDUJBIs70ukUMb9rwRcm3fPr+JLxiTMf8VEurZgPFbToIAWrGrLoL9G/lwouXtuc15Df2PkPuowMBC+lkMchx7gntQpGSP1GWA== 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=zoVSskfYebDKpbfXVee9XG7CZbYy2aFXJnL9dBEkc7o=; b=G3+hHicO2PrlEnjNN4BSYjuPmE622oKsuUZ+a+z43NxWA6m26Sm2Pvz9Kk0NVcDL/Sou0HIPnnYVmL5oXOgkPqVuRoIkq8Ps1xCiXlPgxmjdXoE3RYTBLvPIfMGiEjOMV9XGZyQ5sV/4vfK2H4IWG25mamICQBJCzVf55M5AgK3UbBq6egfse/RMrXXnrsklxH9+fr0/AMVNwd0bRrPB2tLTK+8cEI6xGS154a+kapu0/Pei0dKW5sEC/Dqcm2fvg3ee4KH3PCp2qB3jkg1aXeBfqgriNj+aSgPneCPE1wT3REXMffo9xiMc80DLPMTYa6wff+BX2C0Se9EkRC+4FQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zoVSskfYebDKpbfXVee9XG7CZbYy2aFXJnL9dBEkc7o=; b=J8ayLIdWP1D6TSGcWQ+VAjA89m94V6GeAv5MQKud51wVG6375Zn61y1qtrRagbVkH55F/voq5NReLjU3fx2SAeirgybxOZcG/eRpInNrGfdB3l88F32AQQcbv2yr9T0Qbgd0q3unqv1hrwDzISi/HMK/yLe9g2oeDc+ZrLueJuI= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from DM6PR13MB4431.namprd13.prod.outlook.com (2603:10b6:5:1bb::21) by PH7PR13MB5527.namprd13.prod.outlook.com (2603:10b6:510:139::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.14; Thu, 22 Sep 2022 13:10:01 +0000 Received: from DM6PR13MB4431.namprd13.prod.outlook.com ([fe80::e198:fd7c:5eb4:89c1]) by DM6PR13MB4431.namprd13.prod.outlook.com ([fe80::e198:fd7c:5eb4:89c1%5]) with mapi id 15.20.5654.014; Thu, 22 Sep 2022 13:10:01 +0000 From: =?utf-8?q?Niklas_S=C3=B6derlund?= To: dev@dpdk.org Cc: oss-drivers@corigine.com, Long Wu , louis.peens@corigine.com, stable@dpdk.org, Chaoyong He , =?utf-8?q?Niklas_S=C3=B6derlund?= Subject: [PATCH] net/nfp: fix memory leak for receive function Date: Thu, 22 Sep 2022 15:09:44 +0200 Message-Id: <20220922130944.698880-1-niklas.soderlund@corigine.com> X-Mailer: git-send-email 2.37.3 X-ClientProxiedBy: FR3P281CA0161.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a2::20) To DM6PR13MB4431.namprd13.prod.outlook.com (2603:10b6:5:1bb::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6PR13MB4431:EE_|PH7PR13MB5527:EE_ X-MS-Office365-Filtering-Correlation-Id: 44e69a89-93d2-4693-dd4d-08da9c9bc1ff X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: F7ppip2h8sv1zdb4q2WW03cyL0+nffon6MTO9yYYq7C5IeSBmaxg6f/dbVsu8UHJ2+TDkOOMXo6V4TRwcJVh77qMEE8rModLpWmlH7GVjyinylMLd9JCifcvpWCyy2ylOCvm0QUa1eaI6OyGjYzRa8afrlLJHV5hbCj8VfhD++1E+aMSBDJG2NtzdAIa2ETo2NRcLqTDHfEH8c6nL0CoRDvXlqbK0j+uZ609R8fg9A/78sptNH2qLVg7w4QQt/AY+qTpXw7Z5XsVIKViS9qN5rX4wauIQaI2vTfL9wsgPqlYvcIEwjQepdCuBWqIX95jjwMzq1kZKzC0wgoEdbd3PqW3oxAScDBNJG6m8w8tlOksn1zKiJ7oyJQOeClP81K7qKyJB6AtXvR960GJq4X98ZcysdTVuKH1FKDQE1QmNG1VrJudwVAo1HdwycDWyL87xUXOlhcV3ug+vl8FyFdB3itbhiu/YUhkpFi0gUmIkmQASqzUv3Z7RFvkcvrHAESHx2gep0jEx/HHpoHMuxUKTFp5DtGYsnQJLK7ym8f0c1CKBFLBXunK/KlI03RQuzGaQ8FMNJOIa7B55QWgQu6qpnblwzk0FKGwLiKnst5gohUGgf86GhfO/Ly2pP8r2xRzuybGgJauT+0d8tVKn5Cx9s0a2+8RldhfoZDSJdKVJgUW6wBcPllOlGB0qPt4tfd2TmC+YF9dfBIg1LpLvELe9PyswxFh8NtDu+G9t7uJ8SLBD5soq+XpRbNFWwZxWDUiseiIteswRC1SskfQg/LQXmsWmkbzTlWx/dfrP23/kGAtbiwjJ+7Etwa5cdnCkyvA X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR13MB4431.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(376002)(136003)(366004)(396003)(39840400004)(346002)(451199015)(5660300002)(83380400001)(8936002)(478600001)(66556008)(6486002)(54906003)(6916009)(6506007)(66946007)(450100002)(41300700001)(8676002)(107886003)(36756003)(66476007)(52116002)(4326008)(86362001)(186003)(26005)(6666004)(316002)(38100700002)(38350700002)(6512007)(2616005)(1076003)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?6UMMdEjAf5JwF8/s61ZCQp7hBbzI?= =?utf-8?q?Fnhs/ZDfT2/vQUnCeYpLzsglzGxPgASc6BSDn/UTQpYhhk7Cala7JkFMywAQRH/xV?= =?utf-8?q?MfmLF5NyRGEvMYjFyUgZWz19qHnmtMzP3NXqD2yrIbKML5GtUNwWaikJBKY4KzTbY?= =?utf-8?q?9wIAfzWQKH9y7sCBTkprPERnDuJoXbtCjnsxUOmcphPoe7cYnRoDvCg0/A1oIZlvb?= =?utf-8?q?esyp0OSB3KdHYajoYDIyGxC9mpQBgCSeIIRySHo227zxOSnR4RK8pO5qPDDCYLShI?= =?utf-8?q?gSdDDFiwi5PvBdL7M9g2X3iBOse/i+8hi7IefDFNURz7aedjEiWID7lHMNV5ouuuY?= =?utf-8?q?shMv4iQA8gOElTKEIaTLA0uUW/3YRue/TKtDbZNE0e4JyYSFAB7BlHjfB3bs50ATr?= =?utf-8?q?9BydYt4AiYFTTyFvNX0jYpke3hrwk/4aQbRAmLIsZO4UV/YGtQsIyLpSUZnyYBgn6?= =?utf-8?q?FGqDJTrUV8mN4cb4YKDO5PHoc/ja3f67SmiH8oR9wccK5el4tCPtUjl4yHVgOiSM0?= =?utf-8?q?lrn5/oAr9850ypfT4CPMR275ibCdurrv1EzYMSNqcRFVwmU6hwj6m5id3j53YF7KY?= =?utf-8?q?E5O1FUSgzN8AwwZrpCjTqTFsicobaglZFV3bXhpU8D6osXOMK9BRvVh5p2tIDjTX9?= =?utf-8?q?S8yAXPg48lIK8Ln6MGZTALealEgOy7MHne3qilUUHmoTFLOLjwR1brfSMmvJpKJu1?= =?utf-8?q?R4ogRqVzX7njSOC4jWLB5hP0gAdiJ07yeAMT713fKlnX1RhKHQUnUYsUE85B9/FDa?= =?utf-8?q?pOc1dAzjlHsCr5Pcpz2NM7oXKrUw4PF2R+MCqosE2S40UyClg8jW3yrT4GryiWivg?= =?utf-8?q?hYKigCC7+aFXMAXqxFvCqPjwMzWpVwB4yxAlajQgaMisjUNdWjM8LM9KB4O3tt3UW?= =?utf-8?q?mXccwteW6KreKmyTArHrsVWBNvVjXiCP2nct2QWmjBupYHGrFSDiiRrCjBQyKZmg3?= =?utf-8?q?AfgSTLx2iEN2ihE5OZzaIZOi5Lg0tJmBW+2QiTG3TfBQlypC6T9SVMfyqSZjAKsYX?= =?utf-8?q?LQeotQ0cH3eIoLBTvJoaIrdBoE3mIy/oZrPOg7rPVqXnFb2LRAswRT8Kafcs6AUGA?= =?utf-8?q?r/mGad28+SpnCg7VHNnTZEiXwIHIqD8IPtR0PRJFxemm5sREPKGKPU8wI68ny0WEd?= =?utf-8?q?sIMQeD4sixYScojRZDyYNNNXy9yTmqf5vbIwmTmIb9uGp/eiLMt2yhkG9sEH1ItVZ?= =?utf-8?q?pWU9048AgvqQuvR0BVt7KE/L1nEx4B73uA0oeqQT4PAp1QBIOnDwu5Dn8P3KwshkO?= =?utf-8?q?dDClcI+a3yIAb8ku3awlIYFG+1rfyCOtKDVpRGSNrY7Gzb9Rwr1Fra77CmATmct1A?= =?utf-8?q?q0vxkjTstH8tjwoEhGPLNQV2axQ/5Xbkb2tmmbJr567ekHGvkzt2/nupTntkvjZFW?= =?utf-8?q?JRczkth5dX79C8/G1NesX/O7xHDnb8LMCZxewvUju5kdBYKj8lLemTezQdgfzmaGl?= =?utf-8?q?OfvVxqMUEx7KU0Y/NISZ/pCgslxUWYtc4mX7Haa3jqt6kbWucMmagVsYX+7JJsIVE?= =?utf-8?q?BtBq70nZI/1UyLumceBTwvGqFolDiIxQ6r1moKU4jDUYj/zA6vmyMaU=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 44e69a89-93d2-4693-dd4d-08da9c9bc1ff X-MS-Exchange-CrossTenant-AuthSource: DM6PR13MB4431.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2022 13:10:01.5762 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: MMrIzZO3yD2oe2kCM398PNIQ9e0NyJV0GWZ8pmKo5TIx/4TckUozmHWESi8NCc4Iib39i/4cp97ATgRmFFgWcUZqlfwMxz/JVtus4tD4oe8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR13MB5527 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 From: Long Wu nfp_net_recv_pkts() should not return a value that less than 0 and the inappropriate return value in receive loop also causes the memory leak. Modify code to avoid return a value less than 0. Furthermore, When nfp_net_recv_pkts() break out from the receive loop because of packet problems, a rte_mbuf will not be freed and it will cause memory leak. Free the rte_mbuf before break out. Fixes: b812daadad0d ("nfp: add Rx and Tx") Cc: louis.peens@corigine.com Cc: stable@dpdk.org Signed-off-by: Long Wu Reviewed-by: Chaoyong He Reviewed-by: Niklas Söderlund Signed-off-by: Niklas Söderlund --- drivers/net/nfp/nfp_rxtx.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/nfp/nfp_rxtx.c b/drivers/net/nfp/nfp_rxtx.c index 12db07c276f0..34493722f1a4 100644 --- a/drivers/net/nfp/nfp_rxtx.c +++ b/drivers/net/nfp/nfp_rxtx.c @@ -281,8 +281,9 @@ nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) struct rte_mbuf *new_mb; uint16_t nb_hold; uint64_t dma_addr; - int avail; + uint16_t avail; + avail = 0; rxq = rx_queue; if (unlikely(rxq == NULL)) { /* @@ -290,11 +291,10 @@ nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) * enabled. But the queue needs to be configured */ RTE_LOG_DP(ERR, PMD, "RX Bad queue\n"); - return -EINVAL; + return avail; } hw = rxq->hw; - avail = 0; nb_hold = 0; while (avail < nb_pkts) { @@ -360,7 +360,8 @@ nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) hw->rx_offset, rxq->mbuf_size - hw->rx_offset, mb->data_len); - return -EINVAL; + rte_pktmbuf_free(mb); + break; } /* Filling the received mbuf with packet info */