Show a cover letter.

GET /api/covers/41898/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 41898,
    "url": "http://patchwork.dpdk.org/api/covers/41898/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/20180628225745.22629-1-dg@adax.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<20180628225745.22629-1-dg@adax.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20180628225745.22629-1-dg@adax.com",
    "date": "2018-06-28T22:57:45",
    "name": "[0/1] kni: fix segfault in rte_kni_get",
    "submitter": {
        "id": 1040,
        "url": "http://patchwork.dpdk.org/api/people/1040/?format=api",
        "name": "Dan Gora",
        "email": "dg@adax.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/20180628225745.22629-1-dg@adax.com/mbox/",
    "series": [
        {
            "id": 303,
            "url": "http://patchwork.dpdk.org/api/series/303/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=303",
            "date": "2018-06-28T22:57:45",
            "name": "kni: fix segfault in rte_kni_get",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/303/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/41898/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 488A81B440;\n\tFri, 29 Jun 2018 00:58:11 +0200 (CEST)",
            "from mail-ot0-f176.google.com (mail-ot0-f176.google.com\n\t[74.125.82.176]) by dpdk.org (Postfix) with ESMTP id 60D9C1B43B\n\tfor <dev@dpdk.org>; Fri, 29 Jun 2018 00:58:09 +0200 (CEST)",
            "by mail-ot0-f176.google.com with SMTP id h6-v6so7980155otj.0\n\tfor <dev@dpdk.org>; Thu, 28 Jun 2018 15:58:09 -0700 (PDT)",
            "from linux.adax.com (172-11-198-60.lightspeed.sntcca.sbcglobal.net.\n\t[172.11.198.60]) by smtp.gmail.com with ESMTPSA id\n\tg8-v6sm4484639otc.68.2018.06.28.15.58.07\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tThu, 28 Jun 2018 15:58:07 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=sender:from:to:cc:subject:date:message-id;\n\tbh=FuP2AlOtI/Cnd1cWIM/suG5R+ZFInOf5xWVUKclueUs=;\n\tb=cOSUuvHyDzaV0ZvTj2daIC2vzcB6IIfa7IAi91ydD1mmoYM3nhsfVHx+JLY9CnRSf5\n\tD+eg353j+CZq1Z3q5W0xWQWgHBFZBxrx0piFpzSLyXpp6qxADvhftpZePT0HiMvydold\n\tROCeC1gdT/XrvV53pCNzUamNogkRIe3D/Q89oIhr9pRu3bg9qr71PP3yeQHrFe59nyNQ\n\tQuzaPkaDd9Md5+hGyd9rcBLSG6jYr6Uz6KERMkXnstFq3OecjuyT2cVlKeORI4kbaY9X\n\tQutofkDlsMOM0RE+cVHt7KJg+Rlq0xjDm6mgEg9Ub88XQT7Sbrg1HVvDTj9NbwilXXBX\n\tucRw==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:sender:from:to:cc:subject:date:message-id;\n\tbh=FuP2AlOtI/Cnd1cWIM/suG5R+ZFInOf5xWVUKclueUs=;\n\tb=TduZof7Rjy0OMxetvpYZkGLIcDs2QRMzYbnxpCFUFLGojA0gH3Sr2+33ieYPwZxKab\n\td6c2s3fF08eQ/NJrxon8NVgjZ228SOjJdPK6JlpEJSwQOcaBnjqle/ar9h+l5F7F4Q3B\n\tSt448ZCuQ+hX5KaS73FJ1OUdFS6N+A8t62DWeMkLNzxRzsOVg/+GBKdZupf8CdysXvQf\n\tXjRAPoHLdpNi4iblQHO5j4NdQ92fmy8LR4oe3dAWZK7b1zGDNgAPcbTLvxEz4l7+Q7kf\n\t4tb38Iy/Uw08IpkRmvcj0EbwbCYBxjo7KOPGO7TmYqcyWyYNb6K2jMNKhFjC+I/M+Zks\n\taiFQ==",
        "X-Gm-Message-State": "APt69E3h6lEc2ckt3WhzTyTrA/3jLx8Hpx6QMc5XnAAR0O/YtSZuLoJX\n\t7qOhaP7YJaKV0WGmj0WFUIhZtA==",
        "X-Google-Smtp-Source": "AAOMgpcTctNfcxjkfmxozFdaVGsFfwjR+0C8mVmZXD4IJbCDYDPtBp11rIqwctR0V0drJn6syolkug==",
        "X-Received": "by 2002:a9d:1076:: with SMTP id\n\to51-v6mr6845631oto.292.1530226688322; \n\tThu, 28 Jun 2018 15:58:08 -0700 (PDT)",
        "From": "Dan Gora <dg@adax.com>",
        "To": "",
        "Cc": "dev@dpdk.org,\n\tDan Gora <dg@adax.com>",
        "Date": "Thu, 28 Jun 2018 15:57:45 -0700",
        "Message-Id": "<20180628225745.22629-1-dg@adax.com>",
        "X-Mailer": "git-send-email 2.18.0.rc1.1.g6f333ff2f",
        "Subject": "[dpdk-dev] [PATCH 0/1] kni: fix segfault in rte_kni_get",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Fix a segmentation fault which occurs when the kni_autotest is run\nin the 'test' application.\n\nThis segmenation fault occurs whe rte_kni_get is called with a NULL\nvalue for 'name'.\n\nHere is how the segfault was reproduced:\n\n[root]# insmod /home/dg/dpdk/latest/x86_64-native-linuxapp-gcc/build/kernel/linux/kni/rte_kni.ko lo_mode=lo_mode_fifo_skb\n[root]# gdb test\n<snip>\n(gdb) run\n<snip>\nRTE>>kni_autotest\nmaster lcore: 0\ncount: 2\nKNI: pci: 04:00:00       8086:10fb\nDetaching after fork from child process 127900.\nKNI: Invalid KNI request operation.\nKNI: Invalid kni info.\nKNI: The KNI request operation has already registered.\nDetaching after fork from child process 127908.\nChange MTU of port 0 to 1450\nChange MTU of port 0 to 1450 successfully.\nKNI: Invalid kni info.\nDetaching after fork from child process 127910.\nDetaching after fork from child process 127918.\nDetaching after fork from child process 127919.\nDetaching after fork from child process 127920.\nKNI: pci: 04:00:00       8086:10fb\n\nProgram received signal SIGSEGV, Segmentation fault.\n0x00007ffff7017e00 in __strncmp_sse42 () from /lib64/libc.so.6\nMissing separate debuginfos, use: debuginfo-install glibc-2.17-196.el7.x86_64 libgcc-4.8.5-16.el7.x86_64 numactl-libs-2.0.9-7.el7.x86_64\n(gdb) bt\n\\#0  0x00007ffff7017e00 in __strncmp_sse42 () from /lib64/libc.so.6\n\\#1  0x00000000005e481e in rte_kni_get (name=name@entry=0x0) at /home/dg/dpdk/latest/lib/librte_kni/rte_kni.c:753\n\\#2  0x00000000004dd13f in test_kni () at test_kni.c:638\n\\#3  0x000000000046630b in cmd_autotest_parsed (parsed_result=0x7fffffff7dc0, cl=<optimized out>, data=<optimized out>) at commands.c:75\n\\#4  0x00000000005d829d in cmdline_parse (cl=cl@entry=0x7699250, buf=0x7699298 \"kni_autotest \\n\") at /home/dg/dpdk/latest/lib/librte_cmdline/cmdline_parse.c:295\n\\#5  0x00000000005d7240 in cmdline_valid_buffer (rdl=<optimized out>, buf=<optimized out>, size=<optimized out>) at /home/dg/dpdk/latest/lib/librte_cmdline/cmdline.c:31\n\\#6  0x00000000005da154 in rdline_char_in (rdl=rdl@entry=0x7699260, c=10 '\\n') at /home/dg/dpdk/latest/lib/librte_cmdline/cmdline_rdline.c:421\n\\#7  0x00000000005d6f5c in cmdline_in (cl=cl@entry=0x7699250, buf=buf@entry=0x7fffffffdec0 \"\\n\\003\\034\\177\\025\\004\", size=1) at /home/dg/dpdk/latest/lib/librte_cmdline/cmdline.c:172\n\\#8  0x00000000005d74eb in cmdline_interact (cl=cl@entry=0x7699250) at /home/dg/dpdk/latest/lib/librte_cmdline/cmdline.c:251\n\\#9  0x0000000000460ddd in main (argc=<optimized out>, argv=<optimized out>) at test.c:130\n(gdb) up\n\\#1  0x00000000005e481e in rte_kni_get (name=name@entry=0x0) at /home/dg/dpdk/latest/lib/librte_kni/rte_kni.c:753\n753                     if (strncmp(kni->name, name, RTE_KNI_NAMESIZE) == 0)\n(gdb) l\n748             for (i = 0; i < kni_memzone_pool.max_ifaces; i++) {\n749                     it = &kni_memzone_pool.slots[i];\n750                     if (it->in_use == 0)\n751                             continue;\n752                     kni = it->m_ctx->addr;\n753                     if (strncmp(kni->name, name, RTE_KNI_NAMESIZE) == 0)\n754                             return kni;\n755             }\n756\n757             return NULL;\n(gdb) info args\nname = 0x0\n(gdb) print kni\n$1 = (struct rte_kni *) 0x7ff7ff904940\n(gdb) print kni->name\n$2 = \"test_kni_port\", '\\000' <repeats 18 times>\n(gdb)\n\n\nDan Gora (1):\n  kni: fix segfault in rte_kni_get\n\n lib/librte_kni/rte_kni.c | 3 +++\n 1 file changed, 3 insertions(+)"
}