get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 125679,
    "url": "http://patches.dpdk.org/api/patches/125679/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20230331154259.1447831-4-maxime.coquelin@redhat.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": "<20230331154259.1447831-4-maxime.coquelin@redhat.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230331154259.1447831-4-maxime.coquelin@redhat.com",
    "date": "2023-03-31T15:42:35",
    "name": "[RFC,03/27] vhost: fix IOTLB entries overlap check with previous entry",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "af025b2e2d12d0606e1075cecf5d29e5a2403e21",
    "submitter": {
        "id": 512,
        "url": "http://patches.dpdk.org/api/people/512/?format=api",
        "name": "Maxime Coquelin",
        "email": "maxime.coquelin@redhat.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/20230331154259.1447831-4-maxime.coquelin@redhat.com/mbox/",
    "series": [
        {
            "id": 27594,
            "url": "http://patches.dpdk.org/api/series/27594/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=27594",
            "date": "2023-03-31T15:42:32",
            "name": "Add VDUSE support to Vhost library",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/27594/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/125679/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/125679/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 7017042887;\n\tFri, 31 Mar 2023 17:43:30 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 497C942D4E;\n\tFri, 31 Mar 2023 17:43:20 +0200 (CEST)",
            "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.133.124])\n by mails.dpdk.org (Postfix) with ESMTP id 9FDFC42D40\n for <dev@dpdk.org>; Fri, 31 Mar 2023 17:43:17 +0200 (CEST)",
            "from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com\n [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n us-mta-168-BQNhglB2MfWOReR1OG0Oig-1; Fri, 31 Mar 2023 11:43:14 -0400",
            "from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com\n [10.11.54.4])\n (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n (No client certificate requested)\n by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 9349D185A78B;\n Fri, 31 Mar 2023 15:43:13 +0000 (UTC)",
            "from max-t490s.redhat.com (unknown [10.39.208.6])\n by smtp.corp.redhat.com (Postfix) with ESMTP id 300E72027040;\n Fri, 31 Mar 2023 15:43:11 +0000 (UTC)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1680277397;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=OHZYCCXfSU/8PPVEAurhZS5Jj3TOMlldeLqZoOEx/0k=;\n b=ZLbr9iX7WzpM5sd18ESsqUPBW+G5xC0KWnz6JsvSEGt5UxJ3+N0BJt7+Nnf+0ocnSip6l2\n i1WJJG9GeT/vqfWyDe06uAonOnFznzRgEA9C64P7i4bSD95x21ycAcJ0WaREuGpioRVDHc\n lfJbKhoLCJqCD6uEEA4171FdTVawltM=",
        "X-MC-Unique": "BQNhglB2MfWOReR1OG0Oig-1",
        "From": "Maxime Coquelin <maxime.coquelin@redhat.com>",
        "To": "dev@dpdk.org, david.marchand@redhat.com, chenbo.xia@intel.com,\n mkp@redhat.com, fbl@redhat.com, jasowang@redhat.com,\n cunming.liang@intel.com, xieyongji@bytedance.com, echaudro@redhat.com,\n eperezma@redhat.com, amorenoz@redhat.com",
        "Cc": "Maxime Coquelin <maxime.coquelin@redhat.com>,\n\tstable@dpdk.org",
        "Subject": "[RFC 03/27] vhost: fix IOTLB entries overlap check with previous\n entry",
        "Date": "Fri, 31 Mar 2023 17:42:35 +0200",
        "Message-Id": "<20230331154259.1447831-4-maxime.coquelin@redhat.com>",
        "In-Reply-To": "<20230331154259.1447831-1-maxime.coquelin@redhat.com>",
        "References": "<20230331154259.1447831-1-maxime.coquelin@redhat.com>",
        "MIME-Version": "1.0",
        "X-Scanned-By": "MIMEDefang 3.1 on 10.11.54.4",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain; charset=\"US-ASCII\"; x-default=true",
        "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": "Commit 22b6d0ac691a (\"vhost: fix madvise IOTLB entries pages overlap check\")\nfixed the check to ensure the entry to be removed does not\noverlap with the next one in the IOTLB cache before marking\nit as DONTDUMP with madvise(). This is not enough, because\nthe same issue is present when comparing with the previous\nentry in the cache, where the end address of the previous\nentry should be used, not the start one.\n\nFixes: dea092d0addb (\"vhost: fix madvise arguments alignment\")\nCc: stable@dpdk.org\n\nSigned-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>\n---\n lib/vhost/iotlb.c | 8 ++++----\n 1 file changed, 4 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/lib/vhost/iotlb.c b/lib/vhost/iotlb.c\nindex 3f45bc6061..870c8acb88 100644\n--- a/lib/vhost/iotlb.c\n+++ b/lib/vhost/iotlb.c\n@@ -178,8 +178,8 @@ vhost_user_iotlb_cache_random_evict(struct virtio_net *dev, struct vhost_virtque\n \t\t\tmask = ~(alignment - 1);\n \n \t\t\t/* Don't disable coredump if the previous node is in the same page */\n-\t\t\tif (prev_node == NULL ||\n-\t\t\t\t\t(node->uaddr & mask) != (prev_node->uaddr & mask)) {\n+\t\t\tif (prev_node == NULL || (node->uaddr & mask) !=\n+\t\t\t\t\t((prev_node->uaddr + prev_node->size - 1) & mask)) {\n \t\t\t\tnext_node = RTE_TAILQ_NEXT(node, next);\n \t\t\t\t/* Don't disable coredump if the next node is in the same page */\n \t\t\t\tif (next_node == NULL || ((node->uaddr + node->size - 1) & mask) !=\n@@ -283,8 +283,8 @@ vhost_user_iotlb_cache_remove(struct virtio_net *dev, struct vhost_virtqueue *vq\n \t\t\tmask = ~(alignment-1);\n \n \t\t\t/* Don't disable coredump if the previous node is in the same page */\n-\t\t\tif (prev_node == NULL ||\n-\t\t\t\t\t(node->uaddr & mask) != (prev_node->uaddr & mask)) {\n+\t\t\tif (prev_node == NULL || (node->uaddr & mask) !=\n+\t\t\t\t\t((prev_node->uaddr + prev_node->size - 1) & mask)) {\n \t\t\t\tnext_node = RTE_TAILQ_NEXT(node, next);\n \t\t\t\t/* Don't disable coredump if the next node is in the same page */\n \t\t\t\tif (next_node == NULL || ((node->uaddr + node->size - 1) & mask) !=\n",
    "prefixes": [
        "RFC",
        "03/27"
    ]
}