get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 108044,
    "url": "https://patches.dpdk.org/api/patches/108044/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/tencent_F0370FE1A96004830EE477FD888C0850CC06@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_F0370FE1A96004830EE477FD888C0850CC06@qq.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/tencent_F0370FE1A96004830EE477FD888C0850CC06@qq.com",
    "date": "2022-02-22T18:18:12",
    "name": "[14/20] net/ice: avoid fix memory leaks in register parser",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "bc99fdba825250a47884ae471130ad70182514ef",
    "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_F0370FE1A96004830EE477FD888C0850CC06@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/108044/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/108044/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 251BEA034E;\n\tTue, 22 Feb 2022 19:20:02 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 4214D41156;\n\tTue, 22 Feb 2022 19:19:23 +0100 (CET)",
            "from out203-205-251-66.mail.qq.com (out203-205-251-66.mail.qq.com\n [203.205.251.66])\n by mails.dpdk.org (Postfix) with ESMTP id E006841203\n for <dev@dpdk.org>; Tue, 22 Feb 2022 19:19:20 +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=1645553958;\n bh=HkUB0yLfOf9e2Ucfp75NNAQidwzPKAZ8bozh3ctalUw=;\n h=From:To:Cc:Subject:Date:In-Reply-To:References;\n b=gFqyc37lbXxXwPNsV6BMdWmx2XfwFx4VV74jDMsxBahnRcDY8HVyR1ifOfIbU88mY\n US00ZymkBdTNSOqFGXX9LeBPFkHLewQ1ayPkTJShF1usILNSWl46rydVLlXN/BvZJE\n UE5QZDsqdiYg/eUzm0ovS/d9MUjurhMfTkw46BHI=",
        "X-QQ-mid": "xmsmtpt1645553954toprs0xa0",
        "Message-ID": "<tencent_F0370FE1A96004830EE477FD888C0850CC06@qq.com>",
        "X-QQ-XMAILINFO": "MMnP0fEUKo/hTdFkx4DHOYP2uHvg+Gxa9vjk6syS2kkgR8kF3ppPl4wklm92pD\n 2jzpAzVWJgBZP9omb+ezcFyKAF6mCYrl+w70IGciTGBL9gGjd41chDDOo1/cwbX7CgYU59Ln7WFC\n ucljHJqMeDBxzWlBOjXFSvIFF3j9CPLtKM8pPrqU7pAbrtYshpmE3D8rqGa3K4SJqWANqZj0RE4b\n 9GszD9FsZU4nkjNELxIgGF5JLMv+D/Na5ubqJOqBPPbXtAAhIgZVIcS9u8ABXn5D53Pw3s0CsMMr\n skpACiRPFSD8QmS+KHL4tQXv0uqlDCwqPc7sg1DK4vrm3uipzx1sFq6Zl45QtL4aK5xdCvsJGEvk\n V3hQ22xay7bZa6XRI/r7CpFUzkzQIqpyR3icAB31w4z7YuhqOrgtC/rH/7EtySmtpusEM1KIiC8z\n sePbY1YuPCJp3UCk9JKw4YXAVNrbLtiDUtPCjjp2D9u6umEZ//BRkfpvPIZ92LtyGpX/s8gTgzPh\n gPklifScI7BUt2cII+Ee7oZm9IgCqFT/srY3X1fYBvUnh9tFLrsUPc9jwm2bhsYxTd11lrXi5ek/\n 7pWOxGjqsLFymfQ+PzAXvUeXHBJTspe5y3cuCT/xetsGChG4ZB9jGZdIC+ldbOQI3+VjYQoYWskt\n qo+r455tKfYS3UIr0nOTsrRSQXQvemlFvEmbolS9oIJPj6rHsk/enbL3vl5V0v5+2IBeLKDoDuBn\n PbXHp/9omCAP9z6b5IpzM9BA3Ao/YaL0jieN7lxl7qapQqpR0IESzhMxjZXv36ZFXGlKIcHrjC06\n 6UjRVPRRHU04kyV5TaFrTkSDVYIrextA6v5Q5IEqYBglplY1ghnuRt1FgkEV0bZsrmlrt+e2D5uD\n WQIqkVH7z5OnkEanyOeaFMWQQ+Q2vvyg==",
        "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 14/20] net/ice: avoid fix memory leaks in register parser",
        "Date": "Wed, 23 Feb 2022 02:18:12 +0800",
        "X-OQ-MSGID": "\n <a5cbb173ed712a08c175e6771772927e3402b197.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) When 'ice_get_parser_list()' fails and return, 'parser_node' is not\n   released, we can move the parser list action ahead of the memory\n   allocation to avoid this memory leak.\n2) In another error handling branch, we release 'parser_node' directly\n   to avoid the memory leak.\n\nFixes: 7615a6895009cb (\"net/ice: rework for generic flow enabling\")\n\nSigned-off-by: Weiguo Li <liwg06@foxmail.com>\n---\n drivers/net/ice/ice_generic_flow.c | 9 +++++----\n 1 file changed, 5 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/drivers/net/ice/ice_generic_flow.c b/drivers/net/ice/ice_generic_flow.c\nindex 53b1c0b69a..e3df090186 100644\n--- a/drivers/net/ice/ice_generic_flow.c\n+++ b/drivers/net/ice/ice_generic_flow.c\n@@ -1920,6 +1920,10 @@ ice_register_parser(struct ice_flow_parser *parser,\n \tstruct ice_flow_parser_node *existing_node;\n \tvoid *temp;\n \n+\tlist = ice_get_parser_list(parser, ad);\n+\tif (list == NULL)\n+\t\treturn -EINVAL;\n+\n \tparser_node = rte_zmalloc(\"ice_parser\", sizeof(*parser_node), 0);\n \tif (parser_node == NULL) {\n \t\tPMD_DRV_LOG(ERR, \"Failed to allocate memory.\");\n@@ -1927,10 +1931,6 @@ ice_register_parser(struct ice_flow_parser *parser,\n \t}\n \tparser_node->parser = parser;\n \n-\tlist = ice_get_parser_list(parser, ad);\n-\tif (list == NULL)\n-\t\treturn -EINVAL;\n-\n \tif (ad->devargs.pipe_mode_support) {\n \t\tTAILQ_INSERT_TAIL(list, parser_node, node);\n \t} else {\n@@ -1961,6 +1961,7 @@ ice_register_parser(struct ice_flow_parser *parser,\n \t\t} else if (parser->engine->type == ICE_FLOW_ENGINE_ACL) {\n \t\t\tTAILQ_INSERT_HEAD(list, parser_node, node);\n \t\t} else {\n+\t\t\trte_free(parser_node);\n \t\t\treturn -EINVAL;\n \t\t}\n \t}\n",
    "prefixes": [
        "14/20"
    ]
}