Show a patch.

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

{
    "id": 74567,
    "url": "https://patches.dpdk.org/api/patches/74567/",
    "web_url": "https://patches.dpdk.org/patch/74567/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/",
        "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"
    },
    "msgid": "<1595332744-6792-1-git-send-email-michaelba@mellanox.com>",
    "date": "2020-07-21T11:59:04",
    "name": "net/mlx5: fix NVGRE item mask handling",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "cf034e133258cbc5783d4a15985ec3af0cfcad32",
    "submitter": {
        "id": 1582,
        "url": "https://patches.dpdk.org/api/people/1582/",
        "name": "Michael Baum",
        "email": "michaelba@mellanox.com"
    },
    "delegate": {
        "id": 3268,
        "url": "https://patches.dpdk.org/api/users/3268/",
        "username": "rasland",
        "first_name": "Raslan",
        "last_name": "Darawsheh",
        "email": "rasland@mellanox.com"
    },
    "mbox": "https://patches.dpdk.org/patch/74567/mbox/",
    "series": [
        {
            "id": 11204,
            "url": "https://patches.dpdk.org/api/series/11204/",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=11204",
            "date": "2020-07-21T11:59:04",
            "name": "net/mlx5: fix NVGRE item mask handling",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/11204/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/74567/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/74567/checks/",
    "tags": {},
    "headers": {
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "List-Post": "<mailto:dev@dpdk.org>",
        "X-BeenThere": "dev@dpdk.org",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "Subject": "[dpdk-dev] [PATCH] net/mlx5: fix NVGRE item mask handling",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>",
        "From": "Michael Baum <michaelba@mellanox.com>",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id AE891A0526;\n\tTue, 21 Jul 2020 13:59:12 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 93DF91BFF9;\n\tTue, 21 Jul 2020 13:59:12 +0200 (CEST)",
            "from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])\n by dpdk.org (Postfix) with ESMTP id 57E2F1BFE7\n for <dev@dpdk.org>; Tue, 21 Jul 2020 13:59:11 +0200 (CEST)",
            "from Internal Mail-Server by MTLPINE1 (envelope-from\n matan@mellanox.com) with SMTP; 21 Jul 2020 14:59:08 +0300",
            "from pegasus07.mtr.labs.mlnx (pegasus07.mtr.labs.mlnx\n [10.210.16.112])\n by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 06LBx8uD007669;\n Tue, 21 Jul 2020 14:59:08 +0300"
        ],
        "To": "dev@dpdk.org",
        "X-Mailer": "git-send-email 1.8.3.1",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "Date": "Tue, 21 Jul 2020 11:59:04 +0000",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Errors-To": "dev-bounces@dpdk.org",
        "Cc": "matan@mellanox.com, viacheslavo@mellanox.com, stable@dpdk.org",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "Message-Id": "<1595332744-6792-1-git-send-email-michaelba@mellanox.com>",
        "Return-Path": "<dev-bounces@dpdk.org>"
    },
    "content": "The flow_dv_translate_item_nvgre function add NVGRE item to matcher and\nto the value.\nIt defines a pointer named nvrge_m that receives the item's mask into\nit, and then copies some of it to the matcher.\n\nBefore copying, it checks for mask validation, and in case the mask is\nNULL the function gives it a pointer to rte_flow_item_nvgre_mask.\nHowever, the function calls from the vni mask's field before the check,\nand if there is no mask, it actually does dereference to the NULL\npointer and indeed the program crashes with segfault.\n\nMove the call from the vni field to post-validation.\n\nFixes: cd18e1b72f73 (\"net/mlx5: fix build on Arm\")\nCc: stable@dpdk.org\n\nSigned-off-by: Michael Baum <michaelba@mellanox.com>\nAcked-by: Matan Azrad <matan@mellanox.com>\n---\n drivers/net/mlx5/mlx5_flow_dv.c | 6 ++++--\n 1 file changed, 4 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c\nindex f0cc7ad..caeafd9 100644\n--- a/drivers/net/mlx5/mlx5_flow_dv.c\n+++ b/drivers/net/mlx5/mlx5_flow_dv.c\n@@ -6469,8 +6469,8 @@ struct field_modify_info modify_tcp[] = {\n \tconst struct rte_flow_item_nvgre *nvgre_v = item->spec;\n \tvoid *misc_m = MLX5_ADDR_OF(fte_match_param, matcher, misc_parameters);\n \tvoid *misc_v = MLX5_ADDR_OF(fte_match_param, key, misc_parameters);\n-\tconst char *tni_flow_id_m = (const char *)nvgre_m->tni;\n-\tconst char *tni_flow_id_v = (const char *)nvgre_v->tni;\n+\tconst char *tni_flow_id_m;\n+\tconst char *tni_flow_id_v;\n \tchar *gre_key_m;\n \tchar *gre_key_v;\n \tint size;\n@@ -6495,6 +6495,8 @@ struct field_modify_info modify_tcp[] = {\n \t\treturn;\n \tif (!nvgre_m)\n \t\tnvgre_m = &rte_flow_item_nvgre_mask;\n+\ttni_flow_id_m = (const char *)nvgre_m->tni;\n+\ttni_flow_id_v = (const char *)nvgre_v->tni;\n \tsize = sizeof(nvgre_m->tni) + sizeof(nvgre_m->flow_id);\n \tgre_key_m = MLX5_ADDR_OF(fte_match_set_misc, misc_m, gre_key_h);\n \tgre_key_v = MLX5_ADDR_OF(fte_match_set_misc, misc_v, gre_key_h);\n",
    "prefixes": []
}