get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2228808,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2228808/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/20260427123653.9103-2-pablo@netfilter.org/",
    "project": {
        "id": 26,
        "url": "http://patchwork.ozlabs.org/api/1.1/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
    },
    "msgid": "<20260427123653.9103-2-pablo@netfilter.org>",
    "date": "2026-04-27T12:36:52",
    "name": "[nf,v5,2/3] netfilter: nft_fwd_netdev: add device and headroom validate with neigh forwarding",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": false,
    "hash": "ea7deb08794c0c82f6818905bd29a5ec4af8746d",
    "submitter": {
        "id": 1315,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/1315/?format=api",
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/20260427123653.9103-2-pablo@netfilter.org/mbox/",
    "series": [
        {
            "id": 501639,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/501639/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/list/?series=501639",
            "date": "2026-04-27T12:36:52",
            "name": "[nf,v5,1/3] netfilter: replace skb_try_make_writable() by skb_ensure_writable()",
            "version": 5,
            "mbox": "http://patchwork.ozlabs.org/series/501639/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2228808/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2228808/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "\n <netfilter-devel+bounces-12217-incoming=patchwork.ozlabs.org@vger.kernel.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "netfilter-devel@vger.kernel.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=netfilter.org header.i=@netfilter.org\n header.a=rsa-sha256 header.s=2025 header.b=rALDie6K;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=netfilter-devel+bounces-12217-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=netfilter.org header.i=@netfilter.org\n header.b=\"rALDie6K\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=217.70.190.124",
            "smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=netfilter.org",
            "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=netfilter.org"
        ],
        "Received": [
            "from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g439t6RGrz1yHv\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 27 Apr 2026 22:42:26 +1000 (AEST)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 4084C30A5D6C\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 27 Apr 2026 12:37:08 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 01B513B8BD4;\n\tMon, 27 Apr 2026 12:37:08 +0000 (UTC)",
            "from mail.netfilter.org (mail.netfilter.org [217.70.190.124])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 109D83B637A\n\tfor <netfilter-devel@vger.kernel.org>; Mon, 27 Apr 2026 12:37:05 +0000 (UTC)",
            "from localhost.localdomain (mail-agni [217.70.190.124])\n\tby mail.netfilter.org (Postfix) with ESMTPSA id 3C1FC60181\n\tfor <netfilter-devel@vger.kernel.org>; Mon, 27 Apr 2026 14:36:59 +0200 (CEST)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777293427; cv=none;\n b=Z/6Pe8M4ahBbkrH4oSljKSwfgCqf7ZKtJuwUHt9aamOfBYq3LnyK8mcOyLAoFMFWP0hdde9YpRtLA4AMgFL96f/E4QrsDCKrGwy1nckmrx+nhRPBsOFTs2vOYq49GG6I754fHRmt1WQdnhESqgg8MubWeil6J9Uvdm03rDA/PVI=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777293427; c=relaxed/simple;\n\tbh=YAHDj6OrMxAA7NeBV0yqj38YpnxdAl8VWbsE+s1EVEk=;\n\th=From:To:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=O1EHyoWzEYo6V6DRhiTbNzZtXThzbGtBPVnUgVur3A3BBgoZ7xX4ChpJOfecCZCms7zDO5FDtPKRWUm3TtdOdistR5fnFdh6u4nIrAYyxpGVGzoqWFj6wEJPgIkEZjxnfujuUhmQWc7JNb5l595HJxrPfl1cpYCLr0xiFe9Yt/w=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=netfilter.org;\n spf=pass smtp.mailfrom=netfilter.org;\n dkim=pass (2048-bit key) header.d=netfilter.org header.i=@netfilter.org\n header.b=rALDie6K; arc=none smtp.client-ip=217.70.190.124",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=netfilter.org;\n\ts=2025; t=1777293419;\n\tbh=IYahGO1JvXj4O7AaxKnasc2U4IVAPVVPf90rIZQP5bA=;\n\th=From:To:Subject:Date:In-Reply-To:References:From;\n\tb=rALDie6KzyPFYrA0+PlgKxxoq0Z0NKY44oE8kAjsfaGdxyNtuWmvtxDRUkcmNakGh\n\t OiGUwvcOLjZuHpyMlr5YKp7X9BHRKjAuGMscjK8DXqQE72GnfRpOQzEnWMAESaLx6M\n\t 47Nbo8RYeTFkq03rJ6i3NZxfoBGchc+ZrlH5XygiCX6sDrzVhsRHjv0bnnLjkGQEZI\n\t VvBJxzVJ3tch5U8gQShJXuu04Df1pxljJaHCd4qjIJgrBSr2KH3tii88rLJsdYtadc\n\t DEWBdDuyJofaVDFLeNP5UjeOUh16VSfH5J2iqN1hHf1ZNGP0Ms639MXtYy8PWONXUH\n\t ONg5LW2idbw6g==",
        "From": "Pablo Neira Ayuso <pablo@netfilter.org>",
        "To": "netfilter-devel@vger.kernel.org",
        "Subject": "[PATCH nf,v5 2/3] netfilter: nft_fwd_netdev: add device and headroom\n validate with neigh forwarding",
        "Date": "Mon, 27 Apr 2026 14:36:52 +0200",
        "Message-ID": "<20260427123653.9103-2-pablo@netfilter.org>",
        "X-Mailer": "git-send-email 2.47.3",
        "In-Reply-To": "<20260427123653.9103-1-pablo@netfilter.org>",
        "References": "<20260427123653.9103-1-pablo@netfilter.org>",
        "Precedence": "bulk",
        "X-Mailing-List": "netfilter-devel@vger.kernel.org",
        "List-Id": "<netfilter-devel.vger.kernel.org>",
        "List-Subscribe": "<mailto:netfilter-devel+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:netfilter-devel+unsubscribe@vger.kernel.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit"
    },
    "content": "The ttl field has been decremented already and evaluation of this rule\nwould proceed, just drop this packet instead if there is no destination\ndevice to forwards this packet. This is exactly what nf_dup already does\nin this case.\n\nMoreover, use skb_cow_head() to ensure there is sufficient headroom when\nforwarding this via neigh_xmit().\n\nFixes: d32de98ea70f (\"netfilter: nft_fwd_netdev: allow to forward packets via neighbour layer\")\nSigned-off-by: Pablo Neira Ayuso <pablo@netfilter.org>\n---\nv5: rewrite patch title and add skb_cow_head() call\n\n net/netfilter/nft_fwd_netdev.c | 11 +++++++++--\n 1 file changed, 9 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/net/netfilter/nft_fwd_netdev.c b/net/netfilter/nft_fwd_netdev.c\nindex 2cc809303ce8..94d6397f10a8 100644\n--- a/net/netfilter/nft_fwd_netdev.c\n+++ b/net/netfilter/nft_fwd_netdev.c\n@@ -153,8 +153,15 @@ static void nft_fwd_neigh_eval(const struct nft_expr *expr,\n \t}\n \n \tdev = dev_get_by_index_rcu(nft_net(pkt), oif);\n-\tif (dev == NULL)\n-\t\treturn;\n+\tif (dev == NULL) {\n+\t\tverdict = NF_DROP;\n+\t\tgoto out;\n+\t}\n+\n+\tif (skb_cow_head(skb, LL_RESERVED_SPACE(dev))) {\n+\t\tverdict = NF_DROP;\n+\t\tgoto out;\n+\t}\n \n \tskb->dev = dev;\n \tskb_clear_tstamp(skb);\n",
    "prefixes": [
        "nf",
        "v5",
        "2/3"
    ]
}