get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 814638,
    "url": "http://patchwork.ozlabs.org/api/patches/814638/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/20170917110751.7923-3-rafi@rbk.ms/",
    "project": {
        "id": 26,
        "url": "http://patchwork.ozlabs.org/api/projects/26/?format=api",
        "name": "Netfilter Development",
        "link_name": "netfilter-devel",
        "list_id": "netfilter-devel.vger.kernel.org",
        "list_email": "netfilter-devel@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20170917110751.7923-3-rafi@rbk.ms>",
    "list_archive_url": null,
    "date": "2017-09-17T11:07:51",
    "name": "[2/2] extensions: xt_bpf: get the pinned ebpf object when match is initialized",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": false,
    "hash": "7c6f391334b662f4be0e1a83a3bf769a8dba4c45",
    "submitter": {
        "id": 72382,
        "url": "http://patchwork.ozlabs.org/api/people/72382/?format=api",
        "name": "Shmulik Ladkani",
        "email": "shmulik@nsof.io"
    },
    "delegate": {
        "id": 6139,
        "url": "http://patchwork.ozlabs.org/api/users/6139/?format=api",
        "username": "pablo",
        "first_name": "Pablo",
        "last_name": "Neira",
        "email": "pablo@netfilter.org"
    },
    "mbox": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/20170917110751.7923-3-rafi@rbk.ms/mbox/",
    "series": [
        {
            "id": 3506,
            "url": "http://patchwork.ozlabs.org/api/series/3506/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/list/?series=3506",
            "date": "2017-09-17T11:07:49",
            "name": "xt_bpf: fix handling of pinned objects",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/3506/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/814638/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/814638/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<netfilter-devel-owner@vger.kernel.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netfilter-devel-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nsof.io header.i=@nsof.io header.b=\"zDvf+hKS\";\n\tdkim-atps=neutral"
        ],
        "Received": [
            "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xw5wY06nzz9sBZ\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSun, 17 Sep 2017 21:08:29 +1000 (AEST)",
            "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1750862AbdIQLI2 (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tSun, 17 Sep 2017 07:08:28 -0400",
            "from mail-wr0-f177.google.com ([209.85.128.177]:44987 \"EHLO\n\tmail-wr0-f177.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1750793AbdIQLI2 (ORCPT\n\t<rfc822;netfilter-devel@vger.kernel.org>);\n\tSun, 17 Sep 2017 07:08:28 -0400",
            "by mail-wr0-f177.google.com with SMTP id v109so4341975wrc.1\n\tfor <netfilter-devel@vger.kernel.org>;\n\tSun, 17 Sep 2017 04:08:27 -0700 (PDT)",
            "from localhost.localdomain (bzq-82-81-225-244.cablep.bezeqint.net.\n\t[82.81.225.244]) by smtp.gmail.com with ESMTPSA id\n\tl4sm4716895wrb.74.2017.09.17.04.08.25\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tSun, 17 Sep 2017 04:08:26 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nsof.io; s=google;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=V9XYqygYHjanp781i3HdZbKR2XmV2S8J44XaTiEcBe8=;\n\tb=zDvf+hKS6aJn4Q+v5W4ofbL24A6fvgvZIDuB+AHULqccSGVGoMG0Yi9QHNoNdnL4CR\n\trt7JpcGaCDpEiD4LwU87Obv12iGJzcmaqFmhCLhC2hDcKjTHt5iytP57Y1W7BgRGysPk\n\tSFGdvnqvLL2pGVLrTlHNxBTbduFbaQhF/2/QE=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=V9XYqygYHjanp781i3HdZbKR2XmV2S8J44XaTiEcBe8=;\n\tb=VHRAfIYNAwG1ILGNVVj4+5vfV+B1LH5LMyNhB5vWvIdb+sTxixCqSX6iMWIruIT9Qk\n\tI8Oo3Zd7v3X3GS+bLm9gByr7Zc/QVGKM5Pb4oTdNYjACcaqlVgZL0JrC0xNBcrjI+0wN\n\tzCt8X1hppz+vkjU2dKg1k3u1DR2hkyOFAiLzHJccR2wyscuxWr6glJmWu0sri5bhWhKO\n\t8haIo9UW7RzosgLtQq3bTYh6URzjECAbRZ0oBroq9fEZ4CuywtzDHATgJZWzfBJRgL4p\n\t/xTqFOFuxsVsOVXVt2H0mJ7wjiQQGQtMoNvtEmFC5AsOiunbMnjYdIE7atTmorocp0uO\n\to90g==",
        "X-Gm-Message-State": "AHPjjUgAWep0Nqh00FKKroTFUY3EPF2ds4zrZ5CXOCL/exi4PbBVWJIL\n\t+CIhXt9Wozc3ZHcQdeV/RA==",
        "X-Google-Smtp-Source": "ADKCNb6v/GbE44UtOqUwgoZKSYgOWxtlbbxwQ7TJh9lYinVI+IEUluOEi5vx0MJQehDepi7qcc6n1Q==",
        "X-Received": "by 10.223.184.251 with SMTP id\n\tc56mr22340826wrg.145.1505646506710; \n\tSun, 17 Sep 2017 04:08:26 -0700 (PDT)",
        "From": "Rafael Buchbinder <shmulik@nsof.io>",
        "X-Google-Original-From": "Rafael Buchbinder <rafi@rbk.ms>",
        "To": "netfilter-devel@vger.kernel.org, Pablo Neira Ayuso <pablo@netfilter.org>",
        "Cc": "Willem de Bruijn <willemb@google.com>, rbk@nsof.io,\n\tshmulik@nsof.io, Rafael Buchbinder <rafi@rbk.ms>",
        "Subject": "[PATCH 2/2] extensions: xt_bpf: get the pinned ebpf object when\n\tmatch is initialized",
        "Date": "Sun, 17 Sep 2017 14:07:51 +0300",
        "Message-Id": "<20170917110751.7923-3-rafi@rbk.ms>",
        "X-Mailer": "git-send-email 2.14.1",
        "In-Reply-To": "<20170917110751.7923-1-rafi@rbk.ms>",
        "References": "<20170917110751.7923-1-rafi@rbk.ms>",
        "Sender": "netfilter-devel-owner@vger.kernel.org",
        "Precedence": "bulk",
        "List-ID": "<netfilter-devel.vger.kernel.org>",
        "X-Mailing-List": "netfilter-devel@vger.kernel.org"
    },
    "content": "xt_bpf_info_v1 structure requires an open file descriptor to create an\neBPF match. This file descriptor is checked on every replace. However,\nas this file descriptor is valid only for the iptables invocation which\nloads the eBPF for the first time, all subsequent iptables invocations\nfail in bpf_mt_check (kernel) function.\n\nThis commit fixes handling of pinned ebpf objects.\n\nThe file descriptor saved in xt_bpf_info_v1 structure is being re-open\nin tc_init_fixup which is invoked immediately after tc_init.\n\nSigned-off-by: Rafael Buchbinder <rafi@rbk.ms>\nSigned-off-by: Shmulik Ladkani <shmulik@nsof.io>\n---\n extensions/libxt_bpf.c | 9 +++++++++\n 1 file changed, 9 insertions(+)",
    "diff": "diff --git a/extensions/libxt_bpf.c b/extensions/libxt_bpf.c\nindex 9510c190..16d6bc25 100644\n--- a/extensions/libxt_bpf.c\n+++ b/extensions/libxt_bpf.c\n@@ -247,6 +247,14 @@ static void bpf_print_v1(const void *ip, const struct xt_entry_match *match,\n \t\tprintf(\"unknown\");\n }\n \n+static void bpf_tc_init_fixup_v1(struct xt_entry_match *match)\n+{\n+\tstruct xt_bpf_info_v1 *info = (void *) match->data;\n+\n+\tif (info->mode == XT_BPF_MODE_FD_PINNED)\n+\t\tbpf_parse_obj_pinned(info, info->path);\n+}\n+\n static struct xtables_match bpf_matches[] = {\n \t{\n \t\t.family\t\t= NFPROTO_UNSPEC,\n@@ -272,6 +280,7 @@ static struct xtables_match bpf_matches[] = {\n \t\t.help\t\t= bpf_help_v1,\n \t\t.print\t\t= bpf_print_v1,\n \t\t.save\t\t= bpf_save_v1,\n+\t\t.tc_init_fixup\t= bpf_tc_init_fixup_v1,\n \t\t.x6_parse\t= bpf_parse_v1,\n \t\t.x6_fcheck\t= bpf_fcheck_v1,\n \t\t.x6_options\t= bpf_opts_v1,\n",
    "prefixes": [
        "2/2"
    ]
}