get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/108046/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 108046,
    "url": "https://patches.dpdk.org/api/patches/108046/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/tencent_13049F264770E9E07C0F8E948810C600F10A@qq.com/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<tencent_13049F264770E9E07C0F8E948810C600F10A@qq.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/tencent_13049F264770E9E07C0F8E948810C600F10A@qq.com",
    "date": "2022-02-22T18:18:15",
    "name": "[17/20] net/vmxnet3: fix memory leaks in error handlings",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "17d49b77c1f60250d434df60b1b9172c8292493a",
    "submitter": {
        "id": 2458,
        "url": "https://patches.dpdk.org/api/people/2458/?format=api",
        "name": "Weiguo Li",
        "email": "liwg06@foxmail.com"
    },
    "delegate": {
        "id": 24651,
        "url": "https://patches.dpdk.org/api/users/24651/?format=api",
        "username": "dmarchand",
        "first_name": "David",
        "last_name": "Marchand",
        "email": "david.marchand@redhat.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/tencent_13049F264770E9E07C0F8E948810C600F10A@qq.com/mbox/",
    "series": [
        {
            "id": 21799,
            "url": "https://patches.dpdk.org/api/series/21799/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=21799",
            "date": "2022-02-22T18:17:58",
            "name": "fix memory leaks in error handling",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/21799/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/108046/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/108046/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "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])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 8F2EFA034E;\n\tTue, 22 Feb 2022 19:20:14 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 0C5944115D;\n\tTue, 22 Feb 2022 19:19:33 +0100 (CET)",
            "from out203-205-251-82.mail.qq.com (out203-205-251-82.mail.qq.com\n [203.205.251.82])\n by mails.dpdk.org (Postfix) with ESMTP id 9ED2440DF6\n for <dev@dpdk.org>; Tue, 22 Feb 2022 19:19:30 +0100 (CET)",
            "from localhost.localdomain ([111.193.130.237])\n by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP\n id 49223207; Wed, 23 Feb 2022 02:18:18 +0800"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com;\n s=s201512; t=1645553969;\n bh=0qtYDZdlDpQ65AzxXs+i5eMnOuK10KPt+MmkVZWNsaA=;\n h=From:To:Cc:Subject:Date:In-Reply-To:References;\n b=jWAZsYjz+enPdrkPluYZwiVEgakDLE0DoUHNms+ieavX3nM64DQIVjgyiudRX1G/Z\n UIR5z9RqDaUCeMoHwdY2inLodFuTBaLdzZUYcedQI5QzTQvMBcxgV5SCkmZAoFRx3+\n qRC3ZTSko8dGsEDxHMyw8HlVJKldsPhnQ4W7hkXM=",
        "X-QQ-mid": "xmsmtpt1645553964t1ce6m321",
        "Message-ID": "<tencent_13049F264770E9E07C0F8E948810C600F10A@qq.com>",
        "X-QQ-XMAILINFO": "N6qfSVgljG6X2orpMhL4RfcnoBdDN6O43Ci1k5Om3itXxrlZLaCew56rCm6F0n\n 42rn2+Tw0aV8jFcy5eJwzb6Bb4T+WccIcxiCbj6zIOSnUN/nYAZbFZTlEp7C9CUHUCfK+OANKwFD\n IUfdo3ywnqIZW6GMNDUhmLXly1aaaGOOp1Vawkks0edSEUZfaFoDaC3MyKkdDmoTIlScF2FvNDQx\n 8Q2pjERrzwtNGFA8uUAMMgXtB1U3KD6XVfaTfjkR8fNartIxr2BmQrXIi9sJLISVuHVJTibIwjdO\n iWe8NRAcLA38VdKuQvG/ORmy+2cyiNHoTpcund8CvhtIibf/jC00N62ikAPBm4uc7GZmzF+snd9i\n KeSpkdk+xX9IR/B+OTOp2/rv+pdSG6hY4fyAiqiOP8bVfWBKuWdW8OOkg/3M0bLidZxjyzuDMSLu\n boT9ak3tZ/O9MmazDRWZuL+v4IUvzfByWp6eNwbxET0nfBvoeos0OLdz29vp1T/6tNVH2s/Pzppv\n l/Hu1PEFnQMXZmdWtPmaoOX7Y4ezX/ywKmtKuy6qw7E0YilvK5dRr9F4T1ECSkq+7ci1IHW0JwkB\n vXBZ4FTBglOPZN0USvAtVPmkwbaVpJrz0FHjtmhQmPtG6l3pYH2oqD3HXjJR1MOtugY4cEGRjUHM\n A9YQIaR+ZSlE6HsN0A/sAQs7+E4Bhd+epYtB06gknxq1qlnHCSaGQCnOUKLsmE9ZS6bcTlGOKv08\n qJbWS2mE9PbOyAL/BVp1t+/oZAn1YaOwc0zXLrdTIphuMsU81Ci4RouvAenNlC4Y5osMeoqVoGGf\n YYP2t6AQ6pbho5PMWYmptM0B0mbrr7h0H5rIYBGcUYjdTFFX8OYfLmFiaFhgjh5+a3RnGv+yIt++\n K9LHQYW8G0OSk8YiVoIQ2fzWjoLrMwlQ==",
        "From": "Weiguo Li <liwg06@foxmail.com>",
        "To": "dev@dpdk.org",
        "Cc": "adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com,\n bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com,\n hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com,\n simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com,\n shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org,\n kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com,\n declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com",
        "Subject": "[PATCH 17/20] net/vmxnet3: fix memory leaks in error handlings",
        "Date": "Wed, 23 Feb 2022 02:18:15 +0800",
        "X-OQ-MSGID": "\n <efd139084280d28b11bb473e0766500863cf6cdc.1645551559.git.liwg06@foxmail.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<cover.1645551559.git.liwg06@foxmail.com>",
        "References": "<cover.1645551559.git.liwg06@foxmail.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "1) in function vmxnet3_dev_tx_queue_setup():\n   The momory of 'txq' is stored to 'dev->data->tx_queues[queue_idx]'\n   at the end of the function. When function returned early in the\n   error handling, 'txq' is not released which leads to a memory leak.\n2) in function vmxnet3_dev_rx_queue_setup():\n   Same reason to case 1) with memory 'rxq'.\n\nFixes: dfaff37fc46d (\"vmxnet3: import new vmxnet3 poll mode driver implementation\")\n\nSigned-off-by: Weiguo Li <liwg06@foxmail.com>\n---\n drivers/net/vmxnet3/vmxnet3_rxtx.c | 8 ++++++++\n 1 file changed, 8 insertions(+)",
    "diff": "diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c\nindex d745064bc4..3d1c6080e8 100644\n--- a/drivers/net/vmxnet3/vmxnet3_rxtx.c\n+++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c\n@@ -1057,10 +1057,12 @@ vmxnet3_dev_tx_queue_setup(struct rte_eth_dev *dev,\n \n \t/* Tx vmxnet ring length should be between 512-4096 */\n \tif (nb_desc < VMXNET3_DEF_TX_RING_SIZE) {\n+\t\trte_free(txq);\n \t\tPMD_INIT_LOG(ERR, \"VMXNET3 Tx Ring Size Min: %u\",\n \t\t\t     VMXNET3_DEF_TX_RING_SIZE);\n \t\treturn -EINVAL;\n \t} else if (nb_desc > VMXNET3_TX_RING_MAX_SIZE) {\n+\t\trte_free(txq);\n \t\tPMD_INIT_LOG(ERR, \"VMXNET3 Tx Ring Size Max: %u\",\n \t\t\t     VMXNET3_TX_RING_MAX_SIZE);\n \t\treturn -EINVAL;\n@@ -1084,6 +1086,7 @@ vmxnet3_dev_tx_queue_setup(struct rte_eth_dev *dev,\n \tmz = rte_eth_dma_zone_reserve(dev, \"txdesc\", queue_idx, size,\n \t\t\t\t      VMXNET3_RING_BA_ALIGN, socket_id);\n \tif (mz == NULL) {\n+\t\trte_free(txq);\n \t\tPMD_INIT_LOG(ERR, \"ERROR: Creating queue descriptors zone\");\n \t\treturn -ENOMEM;\n \t}\n@@ -1108,6 +1111,7 @@ vmxnet3_dev_tx_queue_setup(struct rte_eth_dev *dev,\n \tring->buf_info = rte_zmalloc(\"tx_ring_buf_info\",\n \t\t\t\t     ring->size * sizeof(vmxnet3_buf_info_t), RTE_CACHE_LINE_SIZE);\n \tif (ring->buf_info == NULL) {\n+\t\trte_free(txq);\n \t\tPMD_INIT_LOG(ERR, \"ERROR: Creating tx_buf_info structure\");\n \t\treturn -ENOMEM;\n \t}\n@@ -1163,9 +1167,11 @@ vmxnet3_dev_rx_queue_setup(struct rte_eth_dev *dev,\n \n \t/* Rx vmxnet rings length should be between 256-4096 */\n \tif (nb_desc < VMXNET3_DEF_RX_RING_SIZE) {\n+\t\trte_free(rxq);\n \t\tPMD_INIT_LOG(ERR, \"VMXNET3 Rx Ring Size Min: 256\");\n \t\treturn -EINVAL;\n \t} else if (nb_desc > VMXNET3_RX_RING_MAX_SIZE) {\n+\t\trte_free(rxq);\n \t\tPMD_INIT_LOG(ERR, \"VMXNET3 Rx Ring Size Max: 4096\");\n \t\treturn -EINVAL;\n \t} else {\n@@ -1195,6 +1201,7 @@ vmxnet3_dev_rx_queue_setup(struct rte_eth_dev *dev,\n \tmz = rte_eth_dma_zone_reserve(dev, \"rxdesc\", queue_idx, size,\n \t\t\t\t      VMXNET3_RING_BA_ALIGN, socket_id);\n \tif (mz == NULL) {\n+\t\trte_free(rxq);\n \t\tPMD_INIT_LOG(ERR, \"ERROR: Creating queue descriptors zone\");\n \t\treturn -ENOMEM;\n \t}\n@@ -1233,6 +1240,7 @@ vmxnet3_dev_rx_queue_setup(struct rte_eth_dev *dev,\n \t\t\t\t\t     ring->size * sizeof(vmxnet3_buf_info_t),\n \t\t\t\t\t     RTE_CACHE_LINE_SIZE);\n \t\tif (ring->buf_info == NULL) {\n+\t\t\trte_free(rxq);\n \t\t\tPMD_INIT_LOG(ERR, \"ERROR: Creating rx_buf_info structure\");\n \t\t\treturn -ENOMEM;\n \t\t}\n",
    "prefixes": [
        "17/20"
    ]
}