get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 48546,
    "url": "https://patches.dpdk.org/api/patches/48546/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20181205150926.4895-1-i.maximets@samsung.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": "<20181205150926.4895-1-i.maximets@samsung.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20181205150926.4895-1-i.maximets@samsung.com",
    "date": "2018-12-05T15:09:26",
    "name": "vhost: fix double read of descriptor flags",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "f03966170e49a16cceae468e84a81033717edadb",
    "submitter": {
        "id": 323,
        "url": "https://patches.dpdk.org/api/people/323/?format=api",
        "name": "Ilya Maximets",
        "email": "i.maximets@samsung.com"
    },
    "delegate": {
        "id": 2642,
        "url": "https://patches.dpdk.org/api/users/2642/?format=api",
        "username": "mcoquelin",
        "first_name": "Maxime",
        "last_name": "Coquelin",
        "email": "maxime.coquelin@redhat.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20181205150926.4895-1-i.maximets@samsung.com/mbox/",
    "series": [
        {
            "id": 2673,
            "url": "https://patches.dpdk.org/api/series/2673/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=2673",
            "date": "2018-12-05T15:09:26",
            "name": "vhost: fix double read of descriptor flags",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/2673/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/48546/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/48546/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 E8A251B146;\n\tWed,  5 Dec 2018 16:09:38 +0100 (CET)",
            "from mailout2.w1.samsung.com (mailout2.w1.samsung.com\n\t[210.118.77.12]) by dpdk.org (Postfix) with ESMTP id BFAFB1B13C\n\tfor <dev@dpdk.org>; Wed,  5 Dec 2018 16:09:37 +0100 (CET)",
            "from eucas1p1.samsung.com (unknown [182.198.249.206])\n\tby mailout2.w1.samsung.com (KnoxPortal) with ESMTP id\n\t20181205150936euoutp022c64663ecd1d10da0028e862804665e7~teFpY7zlY0813308133euoutp02K\n\tfor <dev@dpdk.org>; Wed,  5 Dec 2018 15:09:36 +0000 (GMT)",
            "from eusmges1new.samsung.com (unknown [203.254.199.242]) by\n\teucas1p2.samsung.com (KnoxPortal) with ESMTP id\n\t20181205150936eucas1p23c69d5b1ab1090d4c44eac9e8a884587~teFpBFiNs2306823068eucas1p2D;\n\tWed,  5 Dec 2018 15:09:36 +0000 (GMT)",
            "from eucas1p2.samsung.com ( [182.198.249.207]) by\n\teusmges1new.samsung.com (EUCPMTA) with SMTP id E1.76.04441.F2AE70C5;\n\tWed,  5 Dec 2018 15:09:36 +0000 (GMT)",
            "from eusmtrp2.samsung.com (unknown [182.198.249.139]) by\n\teucas1p1.samsung.com (KnoxPortal) with ESMTPA id\n\t20181205150935eucas1p11698df8ed58ff02a4326dd5780af4470~teFoOpJn22958729587eucas1p1j;\n\tWed,  5 Dec 2018 15:09:35 +0000 (GMT)",
            "from eusmgms1.samsung.com (unknown [182.198.249.179]) by\n\teusmtrp2.samsung.com (KnoxPortal) with ESMTP id\n\t20181205150935eusmtrp2ec6aba2d6022e1280c1b4f2e0eb87f00~teFoAKVSV2855128551eusmtrp2h;\n\tWed,  5 Dec 2018 15:09:35 +0000 (GMT)",
            "from eusmtip2.samsung.com ( [203.254.199.222]) by\n\teusmgms1.samsung.com (EUCPMTA) with SMTP id 9A.20.04284.F2AE70C5;\n\tWed,  5 Dec 2018 15:09:35 +0000 (GMT)",
            "from imaximets.rnd.samsung.ru (unknown [106.109.129.180]) by\n\teusmtip2.samsung.com (KnoxPortal) with ESMTPA id\n\t20181205150932eusmtip28e0453701f40e35607ad4753c609e046~teFlwlY672510625106eusmtip2v;\n\tWed,  5 Dec 2018 15:09:32 +0000 (GMT)"
        ],
        "DKIM-Filter": "OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com\n\t20181205150936euoutp022c64663ecd1d10da0028e862804665e7~teFpY7zlY0813308133euoutp02K",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;\n\ts=mail20170921; t=1544022576;\n\tbh=p5K5IeVgUqJqONRmK2vna2TgtLE0IbtmZxEchZZ9dc0=;\n\th=From:To:Cc:Subject:Date:References:From;\n\tb=SYeAd1oXjIZAP+FsEXL971dddSxfbsd5gLj0F6NBxw/ebqGrtaX1s6wnpDKr9dgYa\n\t7C9QiEW/Os7e2w+/sNGhp7HGKi72BHYsXaoixD/u7L/YkBcZ+LV1PdQTvOQTCc35MM\n\t22lUwCeH/KA3bIWZVPe4P3HF6WAv/6tfBakALwS4=",
        "X-AuditID": "cbfec7f2-5e3ff70000001159-5e-5c07ea2f7180",
        "From": "Ilya Maximets <i.maximets@samsung.com>",
        "To": "dev@dpdk.org, Maxime Coquelin <maxime.coquelin@redhat.com>",
        "Cc": "Tiwei Bie <tiwei.bie@intel.com>, Zhihong Wang <zhihong.wang@intel.com>, \n\tjfreimann@redhat.com, Ilya Maximets <i.maximets@samsung.com>,\n\tstable@dpdk.org",
        "Date": "Wed,  5 Dec 2018 18:09:26 +0300",
        "Message-Id": "<20181205150926.4895-1-i.maximets@samsung.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "X-Brightmail-Tracker": [
            "H4sIAAAAAAAAA+NgFnrDIsWRmVeSWpSXmKPExsWy7djP87oGr9hjDA71M1q8+7SdyeJK+092\n\ti3NrlrJYHOvcw2Lxr+MPu8XWhv9MFpsvTmJyYPf4tWApq8fiPS+ZPN7vu8rm0bdlFWMASxSX\n\tTUpqTmZZapG+XQJXxqyWR6wFtzkqPj57ztzAuJy9i5GTQ0LAROLEo0msXYxcHEICKxgl1s95\n\txw7hfGGUaOs9AJX5zChxqu0FG0xL48J2ZojEckaJNX+2QlX9YJRour4PrIpNQEfi1OojjCC2\n\tiICdxJQ9P8E6mAXmMkrMX/oNLCEsYC1x6OBNsEtYBFQlVi26zAxi8wpYSbxYtocJYp28xOoN\n\tB8CaJQTOsEnMv3ML6nQXidsvp0EVCUu8Or4FKi4j8X/nfKh4vcT9lpeMEM0djBLTD/2DSthL\n\tbHl9DqiBA+gkTYn1u/Qhwo4SD9ZsZgQJSwjwSdx4KwgSZgYyJ22bzgwR5pXoaBOCqFaR+H1w\n\tOTOELSVx891nqAs8JJb9mQy2SEggVmLmi9XMExjlZiHsWsDIuIpRPLW0ODc9tdgwL7Vcrzgx\n\tt7g0L10vOT93EyMwDZz+d/zTDsavl5IOMQpwMCrx8L54wB4jxJpYVlyZe4hRgoNZSYR3hQ1Q\n\tiDclsbIqtSg/vqg0J7X4EKM0B4uSOG81w4NoIYH0xJLU7NTUgtQimCwTB6dUA2OQDpNqvNne\n\tU4+e9zFXHW3bc211Q/3xWQ9r4huFVS67zgn+OJV9RXHM4smPehbl3LnZt+hCJcsm6YkvhBT2\n\tJmo5RWlVVrMV9XCEuDBypz8wYtew5zj19pun6d1V+7pD6to//dnqmc5woPdDxUWrlcvlpPS3\n\tVEk1N9Tn3MqpbQibsN7s7cng/0osxRmJhlrMRcWJAPG/inL/AgAA",
            "H4sIAAAAAAAAA+NgFjrILMWRmVeSWpSXmKPExsVy+t/xe7r6r9hjDK58ZrV492k7k8WV9p/s\n\tFufWLGWxONa5h8XiX8cfdoutDf+ZLDZfnMTkwO7xa8FSVo/Fe14yebzfd5XNo2/LKsYAlig9\n\tm6L80pJUhYz84hJbpWhDCyM9Q0sLPSMTSz1DY/NYKyNTJX07m5TUnMyy1CJ9uwS9jFktj1gL\n\tbnNUfHz2nLmBcTl7FyMnh4SAiUTjwnZmEFtIYCmjxMNTyhBxKYkfvy6wQtjCEn+udbF1MXIB\n\t1XxjlFi3dDUjSIJNQEfi1OojYLaIgIPE7T2vWECKmAUWMkrsPLgYbKqwgLXEoYM3wbaxCKhK\n\trFp0GSzOK2Al8WLZHiaIDfISqzccYJ7AyLOAkWEVo0hqaXFuem6xoV5xYm5xaV66XnJ+7iZG\n\tYPBtO/Zz8w7GSxuDDzEKcDAq8fC+eMAeI8SaWFZcmXuIUYKDWUmEd4UNUIg3JbGyKrUoP76o\n\tNCe1+BCjKdDyicxSosn5wMjIK4k3NDU0t7A0NDc2NzazUBLnPW9QGSUkkJ5YkpqdmlqQWgTT\n\tx8TBKdXAWBR5W77OsefEq5yUZdkL99Ylzmedpfq9ditvU8HVuEcnXq/peugtx7lW5GiE0Ici\n\te98r34/EXeC1azBw6Hjzx3Pan0mbfn/SuDbxHe+/N4nftonMSHx6cHv7WivWHiNO+bToQzrH\n\t4vh2bm/JUgi7o3/+64NbW6UehZ/9nblPM1hlXvC5a1vUApVYijMSDbWYi4oTAfjptJBUAgAA"
        ],
        "X-CMS-MailID": "20181205150935eucas1p11698df8ed58ff02a4326dd5780af4470",
        "X-Msg-Generator": "CA",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "X-RootMTR": "20181205150935eucas1p11698df8ed58ff02a4326dd5780af4470",
        "X-EPHeader": "CA",
        "CMS-TYPE": "201P",
        "X-CMS-RootMailID": "20181205150935eucas1p11698df8ed58ff02a4326dd5780af4470",
        "References": "<CGME20181205150935eucas1p11698df8ed58ff02a4326dd5780af4470@eucas1p1.samsung.com>",
        "Subject": "[dpdk-dev] [PATCH] vhost: fix double read of descriptor flags",
        "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": "Flags could be updated in a separate process leading to the\ninconsistent check.\n\nAdditionally, read marked as 'volatile' to highlight the shared\nnature of the variable and avoid such issues in the future.\n\nFixes: d3211c98c456 (\"vhost: add helpers for packed virtqueues\")\nCc: stable@dpdk.org\n\nSigned-off-by: Ilya Maximets <i.maximets@samsung.com>\n---\n lib/librte_vhost/vhost.h | 6 ++++--\n 1 file changed, 4 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h\nindex 5218f1b12..84cbee2b6 100644\n--- a/lib/librte_vhost/vhost.h\n+++ b/lib/librte_vhost/vhost.h\n@@ -393,8 +393,10 @@ vq_is_packed(struct virtio_net *dev)\n static inline bool\n desc_is_avail(struct vring_packed_desc *desc, bool wrap_counter)\n {\n-\treturn wrap_counter == !!(desc->flags & VRING_DESC_F_AVAIL) &&\n-\t\twrap_counter != !!(desc->flags & VRING_DESC_F_USED);\n+\tuint16_t flags = *((volatile uint16_t *) &desc->flags);\n+\n+\treturn wrap_counter == !!(flags & VRING_DESC_F_AVAIL) &&\n+\t\twrap_counter != !!(flags & VRING_DESC_F_USED);\n }\n \n #define VHOST_LOG_PAGE\t4096\n",
    "prefixes": []
}