get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 50035,
    "url": "http://patches.dpdk.org/api/patches/50035/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20190124165902.24178-3-i.maximets@samsung.com/",
    "project": {
        "id": 1,
        "url": "http://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": "<20190124165902.24178-3-i.maximets@samsung.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190124165902.24178-3-i.maximets@samsung.com",
    "date": "2019-01-24T16:59:01",
    "name": "[2/3] net/virtio: add barriers for extra descriptors on Rx split",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "1b9efe46878c7de1bc4b45453cc95723ff957caa",
    "submitter": {
        "id": 323,
        "url": "http://patches.dpdk.org/api/people/323/?format=api",
        "name": "Ilya Maximets",
        "email": "i.maximets@samsung.com"
    },
    "delegate": {
        "id": 2642,
        "url": "http://patches.dpdk.org/api/users/2642/?format=api",
        "username": "mcoquelin",
        "first_name": "Maxime",
        "last_name": "Coquelin",
        "email": "maxime.coquelin@redhat.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20190124165902.24178-3-i.maximets@samsung.com/mbox/",
    "series": [
        {
            "id": 3318,
            "url": "http://patches.dpdk.org/api/series/3318/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=3318",
            "date": "2019-01-24T16:58:59",
            "name": "net/virtio: missing/wrong read barriers.",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/3318/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/50035/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/50035/checks/",
    "tags": {},
    "related": [],
    "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 B9B8F5B1E;\n\tThu, 24 Jan 2019 17:59:20 +0100 (CET)",
            "from mailout2.w1.samsung.com (mailout2.w1.samsung.com\n\t[210.118.77.12]) by dpdk.org (Postfix) with ESMTP id 4F96D5A6A\n\tfor <dev@dpdk.org>; Thu, 24 Jan 2019 17:59:19 +0100 (CET)",
            "from eucas1p2.samsung.com (unknown [182.198.249.207])\n\tby mailout2.w1.samsung.com (KnoxPortal) with ESMTP id\n\t20190124165918euoutp02ed95450758bea126610aef557854885c~811s-XoYp1875018750euoutp02a\n\tfor <dev@dpdk.org>; Thu, 24 Jan 2019 16:59:18 +0000 (GMT)",
            "from eusmges2new.samsung.com (unknown [203.254.199.244]) by\n\teucas1p1.samsung.com (KnoxPortal) with ESMTP id\n\t20190124165918eucas1p12a786aa37ab0d11fab04454a9dde044d~811smdFZe2975429754eucas1p1J;\n\tThu, 24 Jan 2019 16:59:18 +0000 (GMT)",
            "from eucas1p1.samsung.com ( [182.198.249.206]) by\n\teusmges2new.samsung.com (EUCPMTA) with SMTP id 59.62.04294.6EEE94C5;\n\tThu, 24 Jan 2019 16:59:18 +0000 (GMT)",
            "from eusmtrp1.samsung.com (unknown [182.198.249.138]) by\n\teucas1p2.samsung.com (KnoxPortal) with ESMTPA id\n\t20190124165917eucas1p21b83186e336b1099ee32937fa81d8cc7~811rz5NNx0263202632eucas1p2R;\n\tThu, 24 Jan 2019 16:59:17 +0000 (GMT)",
            "from eusmgms2.samsung.com (unknown [182.198.249.180]) by\n\teusmtrp1.samsung.com (KnoxPortal) with ESMTP id\n\t20190124165917eusmtrp13713104e0752a691b24b21a0ac5d8531~811rlo5hY2842228422eusmtrp1H;\n\tThu, 24 Jan 2019 16:59:17 +0000 (GMT)",
            "from eusmtip2.samsung.com ( [203.254.199.222]) by\n\teusmgms2.samsung.com (EUCPMTA) with SMTP id 23.26.04128.5EEE94C5;\n\tThu, 24 Jan 2019 16:59:17 +0000 (GMT)",
            "from imaximets.rnd.samsung.ru (unknown [106.109.129.180]) by\n\teusmtip2.samsung.com (KnoxPortal) with ESMTPA id\n\t20190124165916eusmtip2b906013c304c975f0719abe7263bd5b9~811qn6P-E1425414254eusmtip2Z;\n\tThu, 24 Jan 2019 16:59:16 +0000 (GMT)"
        ],
        "DKIM-Filter": "OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com\n\t20190124165918euoutp02ed95450758bea126610aef557854885c~811s-XoYp1875018750euoutp02a",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;\n\ts=mail20170921; t=1548349158;\n\tbh=o9h4CjbGJOEcTcyxFLPrNRX91JeJVjMhSsdDTTVE290=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=FGR9r0f1SiUD9XKD0kM8yp2g0lbbRowUZ8WVe1FP0TElfPKvf7J7d5F4MeiF1TxVz\n\tIa4LUYsm+TVHXlPxLgJHOSwk6ltUD0pHrW4i0YJg675sE4lr3RggC7jxxnJIYsSCDV\n\tEHAL861XoiGiyjO/KYB970S95Ohrnl/9S3f/Lov8=",
        "X-AuditID": "cbfec7f4-84fff700000010c6-2a-5c49eee6f48f",
        "From": "Ilya Maximets <i.maximets@samsung.com>",
        "To": "dev@dpdk.org, Maxime Coquelin <maxime.coquelin@redhat.com>, \"Michael S .\n\tTsirkin\" <mst@redhat.com>",
        "Cc": "Tiwei Bie <tiwei.bie@intel.com>, Zhihong Wang <zhihong.wang@intel.com>, \n\tJens Freimann <jfreimann@redhat.com>, Ilya Maximets\n\t<i.maximets@samsung.com>, stable@dpdk.org",
        "Date": "Thu, 24 Jan 2019 19:59:01 +0300",
        "Message-Id": "<20190124165902.24178-3-i.maximets@samsung.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20190124165902.24178-1-i.maximets@samsung.com>",
        "X-Brightmail-Tracker": [
            "H4sIAAAAAAAAA+NgFvrDIsWRmVeSWpSXmKPExsWy7djPc7rP3nnGGFz7wmHx7tN2Josr7T/Z\n\tLc6tWcpicaxzD4vF/1+vWC3+dfxht9ja8J/JYvPFSUwOHB6/Fixl9Vi85yWTx/t9V9k8+ras\n\tYgxgieKySUnNySxLLdK3S+DK6P1RW7CMq2L20ZWsDYz7OboYOTkkBEwkXl6/ytTFyMUhJLCC\n\tUeL1nh4o5wujxKv7V9ghnM+MEg8nvGKEael+9pkNIrGcUeJL/yRGCOcHo8S0AyAZTg42AR2J\n\tU6uPgHWICGRInLz9HKyIWWAto8TZzidMIAlhgUCJ9stLwIpYBFQlppy/xQJi8wpYS0xunccC\n\tsU5eYvWGA8wgNqeAjcTni9PYIOKf2SSm3aiEsF0kfsx5AFUvLPHq+BZ2CFtG4vTkHqh4vcT9\n\tlpdgR0gIdDBKTD/0jwkiYS+x5fU5oAYOoOs0Jdbv0ocIO0p0rvnHChKWEOCTuPFWECTMDGRO\n\t2jadGSLMK9HRJgRRrSLx++ByZghbSuLmu89QF3hIvLl/jgUSPv3AUNxylnkCo/wshGULGBlX\n\tMYqnlhbnpqcWG+WllusVJ+YWl+al6yXn525iBKaJ0/+Of9nBuOtP0iFGAQ5GJR7ejkOeMUKs\n\tiWXFlbmHGCU4mJVEeF0vusUI8aYkVlalFuXHF5XmpBYfYpTmYFES561meBAtJJCeWJKanZpa\n\tkFoEk2Xi4JRqYExw1z7o6Xjsh5xDTEPtxyyX2DnpuY3vLq+r8aqb+p97/uY935StZU5aqNY7\n\t9z3fvm2uxUdd9n3tKSETv317wfLuw7xWATvjE7WbLHxSmpfPs/2teqNz99ldOgmbtOYoe2yV\n\tz0sv22N8hGc1Z+rZXx/+V16Pz7DSPDrznduXHv0+CeOw8lVl75RYijMSDbWYi4oTAfKQjyoP\n\tAwAA",
            "H4sIAAAAAAAAA+NgFrrDLMWRmVeSWpSXmKPExsVy+t/xe7pP33nGGEy6z2/x7tN2Josr7T/Z\n\tLc6tWcpicaxzD4vF/1+vWC3+dfxht9ja8J/JYvPFSUwOHB6/Fixl9Vi85yWTx/t9V9k8+ras\n\tYgxgidKzKcovLUlVyMgvLrFVija0MNIztLTQMzKx1DM0No+1MjJV0rezSUnNySxLLdK3S9DL\n\t6P1RW7CMq2L20ZWsDYz7OboYOTkkBEwkup99Zuti5OIQEljKKPF2/j9GiISUxI9fF1ghbGGJ\n\tP9e6oIq+MUp8m7maCSTBJqAjcWr1EaAGDg4RgSyJd689QGqYBTYySkxfsYQdJC4s4C/x/wbY\n\tTBYBVYkp52+xgNi8AtYSk1vnsUDMl5dYveEAM4jNKWAj8fniNDYQWwioZtazb8wTGPkWMDKs\n\tYhRJLS3OTc8tNtIrTswtLs1L10vOz93ECAzZbcd+btnB2PUu+BCjAAejEg9vxyHPGCHWxLLi\n\tytxDjBIczEoivK4X3WKEeFMSK6tSi/Lji0pzUosPMZoCHTWRWUo0OR8YT3kl8YamhuYWlobm\n\txubGZhZK4rznDSqjhATSE0tSs1NTC1KLYPqYODilGhjTz80p2BT1ZkdPhssW9ffr7N5mzCn/\n\tOjnRombl/z/P+mNP+7PlVItN/dq5ZcNS1hVzT8sXOrvNaSxhUzh30Gn3orudH25cZf3VLDvh\n\t8rrj2x/2r131ad72bXmnEiR0K656zarbUybLZMq/LeGG9DmhPyo6x9SLrwsfPyaf92zOK8Hp\n\taU6XxA9xK7EUZyQaajEXFScCAEI1hc1vAgAA"
        ],
        "X-CMS-MailID": "20190124165917eucas1p21b83186e336b1099ee32937fa81d8cc7",
        "X-Msg-Generator": "CA",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "X-RootMTR": "20190124165917eucas1p21b83186e336b1099ee32937fa81d8cc7",
        "X-EPHeader": "CA",
        "CMS-TYPE": "201P",
        "X-CMS-RootMailID": "20190124165917eucas1p21b83186e336b1099ee32937fa81d8cc7",
        "References": "<20190124165902.24178-1-i.maximets@samsung.com>\n\t<CGME20190124165917eucas1p21b83186e336b1099ee32937fa81d8cc7@eucas1p2.samsung.com>",
        "Subject": "[dpdk-dev] [PATCH 2/3] net/virtio: add barriers for extra\n\tdescriptors on Rx split",
        "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": "There should be read barrier between checking VIRTQUEUE_NUSED (reading\nthe used->idx) and reading these descriptors. It's done for the first\nchecks at the beginning of these functions but missed while checking\nfor extra required descriptors.\n\nFixes: e5f456a98d3c (\"net/virtio: support in-order Rx and Tx\")\nFixes: 13ce5e7eb94f (\"virtio: mergeable buffers\")\nCc: stable@dpdk.org\n\nSigned-off-by: Ilya Maximets <i.maximets@samsung.com>\n---\n drivers/net/virtio/virtio_rxtx.c | 2 ++\n 1 file changed, 2 insertions(+)",
    "diff": "diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c\nindex 63e4370e4..5ffed6a51 100644\n--- a/drivers/net/virtio/virtio_rxtx.c\n+++ b/drivers/net/virtio/virtio_rxtx.c\n@@ -1456,6 +1456,7 @@ virtio_recv_pkts_inorder(void *rx_queue,\n \n \t\tprev = rcv_pkts[nb_rx];\n \t\tif (likely(VIRTQUEUE_NUSED(vq) >= rcv_cnt)) {\n+\t\t\tvirtio_rmb(hw->weak_barriers);\n \t\t\tnum = virtqueue_dequeue_rx_inorder(vq, rcv_pkts, len,\n \t\t\t\t\t\t\t   rcv_cnt);\n \t\t\tuint16_t extra_idx = 0;\n@@ -1642,6 +1643,7 @@ virtio_recv_mergeable_pkts(void *rx_queue,\n \n \t\tprev = rcv_pkts[nb_rx];\n \t\tif (likely(VIRTQUEUE_NUSED(vq) >= rcv_cnt)) {\n+\t\t\tvirtio_rmb(hw->weak_barriers);\n \t\t\tnum = virtqueue_dequeue_burst_rx(vq, rcv_pkts, len,\n \t\t\t\t\t\t\t   rcv_cnt);\n \t\t\tuint16_t extra_idx = 0;\n",
    "prefixes": [
        "2/3"
    ]
}