get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2196701,
    "url": "http://patchwork.ozlabs.org/api/1.0/patches/2196701/?format=api",
    "project": {
        "id": 2,
        "url": "http://patchwork.ozlabs.org/api/1.0/projects/2/?format=api",
        "name": "Linux PPC development",
        "link_name": "linuxppc-dev",
        "list_id": "linuxppc-dev.lists.ozlabs.org",
        "list_email": "linuxppc-dev@lists.ozlabs.org",
        "web_url": "https://github.com/linuxppc/wiki/wiki",
        "scm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git",
        "webscm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/"
    },
    "msgid": "<20260216065639.1750181-2-hbathini@linux.ibm.com>",
    "date": "2026-02-16T06:56:35",
    "name": "[1/5] powerpc64/bpf: do not increment tailcall count when prog is NULL",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "073c0beb6f76a96db7a0a6ce5aecfd6aa849f97d",
    "submitter": {
        "id": 74073,
        "url": "http://patchwork.ozlabs.org/api/1.0/people/74073/?format=api",
        "name": "Hari Bathini",
        "email": "hbathini@linux.ibm.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260216065639.1750181-2-hbathini@linux.ibm.com/mbox/",
    "series": [
        {
            "id": 492248,
            "url": "http://patchwork.ozlabs.org/api/1.0/series/492248/?format=api",
            "date": "2026-02-16T06:56:34",
            "name": "powerpc64/bpf: various fixes",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/492248/mbox/"
        }
    ],
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2196701/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "\n <linuxppc-dev+bounces-16869-incoming=patchwork.ozlabs.org@lists.ozlabs.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linuxppc-dev@lists.ozlabs.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=R7Aj8pW8;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-16869-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)",
            "lists.ozlabs.org;\n arc=none smtp.remote-ip=148.163.156.1",
            "lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com",
            "lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=R7Aj8pW8;\n\tdkim-atps=neutral",
            "lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com\n (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n envelope-from=hbathini@linux.ibm.com; receiver=lists.ozlabs.org)"
        ],
        "Received": [
            "from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fDtqp3dXtz1xxp\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 16 Feb 2026 17:57:10 +1100 (AEDT)",
            "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fDtqg6DDLz2yr6;\n\tMon, 16 Feb 2026 17:57:03 +1100 (AEDT)",
            "from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com\n [148.163.156.1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fDtqf3cLnz2xlq\n\tfor <linuxppc-dev@lists.ozlabs.org>; Mon, 16 Feb 2026 17:57:02 +1100 (AEDT)",
            "from pps.filterd (m0356517.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 61FMkt6G3648134;\n\tMon, 16 Feb 2026 06:56:49 GMT",
            "from ppma21.wdc07v.mail.ibm.com\n (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4caj6uef43-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tMon, 16 Feb 2026 06:56:48 +0000 (GMT)",
            "from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1])\n\tby ppma21.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id\n 61G1q6rS003807;\n\tMon, 16 Feb 2026 06:56:47 GMT",
            "from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229])\n\tby ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4cb4cmvbsh-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tMon, 16 Feb 2026 06:56:47 +0000",
            "from smtpav04.fra02v.mail.ibm.com (smtpav04.fra02v.mail.ibm.com\n [10.20.54.103])\n\tby smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 61G6uh6S50987474\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tMon, 16 Feb 2026 06:56:43 GMT",
            "from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id A7DF320043;\n\tMon, 16 Feb 2026 06:56:43 +0000 (GMT)",
            "from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 21F6E2004B;\n\tMon, 16 Feb 2026 06:56:42 +0000 (GMT)",
            "from li-bd3f974c-2712-11b2-a85c-df1cec4d728e.in.ibm.com (unknown\n [9.78.106.17])\n\tby smtpav04.fra02v.mail.ibm.com (Postfix) with ESMTP;\n\tMon, 16 Feb 2026 06:56:41 +0000 (GMT)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1771225023;\n\tcv=none;\n b=BUj4fOsKkcq0tMPYq+ZJS5aKEgDd/yDYPBLYLCstrIDph8oHWsqoMZM/HqvJubP7/edANhDdF+sE+slBerJd7BHLYQscAo1bqZHB65ha5rIcNyPob00meMudlEVlLd85CEGCsHEHa5gs6sebwu3yC0JeJZjocvOIT0eVjoUPVNFWPoZGZNtCLiyX64ENOVWHIahpseCl5CQP2qJ3WNErUJI7Ac3qCABaLqLuT4veR417pn0j7V5bUh6xQZncjCJoEQ8bJReqYe+3l5TspjErmLXfV4vc9WXsec0saLB7dOLsQ/zB5eOMksDkBuxi0K0aAmDVIhtA4DJ8h6NfJuoHZA==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1771225023; c=relaxed/relaxed;\n\tbh=SqbmQjSg2GytVyMUktvIGlVpWb4XNAQ3Gr5VMEULpHk=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=ZjdmgG+Yove5uaMHl8LgZD8DaX8ZK+qdJgJ8ETqNKyQbCFHVymbfvj0VsA7umby4jJpf5TsGBYIb5QaaRcsGEKVP1pGWYHqOXMVO7D/OTuulq6CAAfvuRCP7G0FHG3uq82dDhZfIRUrv49OxjgjsTM58NmIvO6Ek9ycu3qWY+QsH0v21qAuvSzHBYOWEVrlDOz/9UjRwloqyYQa8MjAxGycJOc6RxOOZEahgw8e4loCrvTilZy+McubmBvD14LbxUoIVV1Rre/yv2AMzGzTwAJOAap/5syk6oNWZKAjvd3XuRjkcE9paozcCED7uCNdXzUY2AsBlTNYbg/8x4WM/+w==",
        "ARC-Authentication-Results": "i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com;\n dkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=R7Aj8pW8; dkim-atps=neutral;\n spf=pass (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n envelope-from=hbathini@linux.ibm.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=linux.ibm.com",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n\t:content-transfer-encoding:date:from:in-reply-to:message-id\n\t:mime-version:references:subject:to; s=pp1; bh=SqbmQjSg2GytVyMUk\n\ttvIGlVpWb4XNAQ3Gr5VMEULpHk=; b=R7Aj8pW8xguZDReRxRJDT9jZ8Nz4K6Vx9\n\t5knOXoA9NS94LA3K2/P8bri6BRS0t5DilpCq2XC3RVw/bztZZdmm7aI6q6QLFkpM\n\tC2lYNd7qO1QT24b4d/CZSE4yb4LHfRW5/KlXrQiKTxixbCgFNAHqAyx7W/bsPnXs\n\tayIkJ42H6zLv5NMqJtApt8qRmo81Mpq3lwDCiteYxr7/WRX1EuGu+8oNCv3NKX3R\n\tJtKJ2U1q5Z6794wLdnxdB4Sl/hCP/DEamVNYoEG9GceQg6Edd7KihfSfXWrV0u/T\n\tyHblgU6VvtKu8B504GP0jJ7mgVILkmBNcNhXgEoe4obRs/CzMw7RA==",
        "From": "Hari Bathini <hbathini@linux.ibm.com>",
        "To": "linuxppc-dev <linuxppc-dev@lists.ozlabs.org>",
        "Cc": "bpf@vger.kernel.org, Alexei Starovoitov <ast@kernel.org>,\n        Daniel Borkmann <daniel@iogearbox.net>,\n        Andrii Nakryiko <andrii@kernel.org>,\n        Saket Kumar Bhaskar <skb99@linux.ibm.com>,\n        Abhishek Dubey <adubey@linux.ibm.com>, stable@vger.kernel.org",
        "Subject": "[PATCH 1/5] powerpc64/bpf: do not increment tailcall count when prog\n is NULL",
        "Date": "Mon, 16 Feb 2026 12:26:35 +0530",
        "Message-ID": "<20260216065639.1750181-2-hbathini@linux.ibm.com>",
        "X-Mailer": "git-send-email 2.53.0",
        "In-Reply-To": "<20260216065639.1750181-1-hbathini@linux.ibm.com>",
        "References": "<20260216065639.1750181-1-hbathini@linux.ibm.com>",
        "X-Mailing-List": "linuxppc-dev@lists.ozlabs.org",
        "List-Id": "<linuxppc-dev.lists.ozlabs.org>",
        "List-Help": "<mailto:linuxppc-dev+help@lists.ozlabs.org>",
        "List-Owner": "<mailto:linuxppc-dev+owner@lists.ozlabs.org>",
        "List-Post": "<mailto:linuxppc-dev@lists.ozlabs.org>",
        "List-Archive": "<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>",
        "List-Subscribe": "<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>",
        "List-Unsubscribe": "<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>",
        "Precedence": "list",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-TM-AS-GCONF": "00",
        "X-Authority-Analysis": "v=2.4 cv=E+/AZKdl c=1 sm=1 tr=0 ts=6992bfb0 cx=c_pps\n a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17\n a=HzLeVaNsDn8A:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22\n a=GgsMoib0sEa3-_RKJdDe:22 a=VwQbUJbxAAAA:8 a=VnNF1IyMAAAA:8\n a=JWpHT1DDrkih_aSkpakA:9",
        "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwMjE2MDA1NCBTYWx0ZWRfX/HSAjK9iOFCj\n VEvqWZ+pzy7LLOJ6e/xj6u/Hm6XjGqIYAjlBlxRYVwHwDq0JbUZDG6I/67njN9MfjwjWj/+9DRK\n +x8U1iIdAFMp2D7SYH3AF3C6euz6nb5jCZ0tyBcsMIpGnpcomGwV4vH10cBDqOKxsE6okpR0RZo\n jEJ2n/1HGWyiLNC6bMDIoHisEOPuY70Ik/dDBViDhZ1o1KqWMLtGy8Q9KH5Fodq1weaWs2qWkyh\n 4ZzlBvtKWbb8helSPd74csqLnX6NvoSLyPG1MjfazHRu25mrYl/1tm0KytUlWrDXA/ACkPdqaKG\n vFckRplusvctodewqudt5vDROT0FVlNu1xbl67DUrt9JJkfrDbOybnhBoF19ri/eAXdUdYbO+/J\n BXqzUWLx0EXhgK2FUbDS1J4vFvq24dIBapb17/fGsMQfro2YTlWzCuGezmHXc1uHugpJje2LBAi\n vLo+cLaZ+p1vhSjpbKA==",
        "X-Proofpoint-ORIG-GUID": "YXV6NMA-AT6bLW9E9Vkh0Z9oPlEu0R59",
        "X-Proofpoint-GUID": "YXV6NMA-AT6bLW9E9Vkh0Z9oPlEu0R59",
        "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-02-16_03,2026-02-13_01,2025-10-01_01",
        "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n lowpriorityscore=0 priorityscore=1501 malwarescore=0 phishscore=0 bulkscore=0\n suspectscore=0 spamscore=0 clxscore=1011 impostorscore=0 adultscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602160054",
        "X-Spam-Status": "No, score=-0.7 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tRCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1 OzLabs 8",
        "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"
    },
    "content": "Do not increment tailcall count, if tailcall did not succeed due to\nmissing BPF program.\n\nFixes: ce0761419fae (\"powerpc/bpf: Implement support for tail calls\")\nCc: stable@vger.kernel.org\nSigned-off-by: Hari Bathini <hbathini@linux.ibm.com>\n---\n arch/powerpc/net/bpf_jit_comp64.c | 39 +++++++++++++++++--------------\n 1 file changed, 21 insertions(+), 18 deletions(-)",
    "diff": "diff --git a/arch/powerpc/net/bpf_jit_comp64.c b/arch/powerpc/net/bpf_jit_comp64.c\nindex b1a3945ccc9f..44ce8a8783f9 100644\n--- a/arch/powerpc/net/bpf_jit_comp64.c\n+++ b/arch/powerpc/net/bpf_jit_comp64.c\n@@ -522,9 +522,30 @@ static int bpf_jit_emit_tail_call(u32 *image, struct codegen_context *ctx, u32 o\n \n \t/*\n \t * tail_call_info++; <- Actual value of tcc here\n+\t * Writeback this updated value only if tailcall succeeds.\n \t */\n \tEMIT(PPC_RAW_ADDI(bpf_to_ppc(TMP_REG_1), bpf_to_ppc(TMP_REG_1), 1));\n \n+\t/* prog = array->ptrs[index]; */\n+\tEMIT(PPC_RAW_MULI(bpf_to_ppc(TMP_REG_2), b2p_index, 8));\n+\tEMIT(PPC_RAW_ADD(bpf_to_ppc(TMP_REG_2), bpf_to_ppc(TMP_REG_2), b2p_bpf_array));\n+\tEMIT(PPC_RAW_LD(bpf_to_ppc(TMP_REG_2), bpf_to_ppc(TMP_REG_2),\n+\t\t\toffsetof(struct bpf_array, ptrs)));\n+\n+\t/*\n+\t * if (prog == NULL)\n+\t *   goto out;\n+\t */\n+\tEMIT(PPC_RAW_CMPLDI(bpf_to_ppc(TMP_REG_2), 0));\n+\tPPC_BCC_SHORT(COND_EQ, out);\n+\n+\t/* goto *(prog->bpf_func + prologue_size); */\n+\tEMIT(PPC_RAW_LD(bpf_to_ppc(TMP_REG_2), bpf_to_ppc(TMP_REG_2),\n+\t\t\toffsetof(struct bpf_prog, bpf_func)));\n+\tEMIT(PPC_RAW_ADDI(bpf_to_ppc(TMP_REG_2), bpf_to_ppc(TMP_REG_2),\n+\t\t\t  FUNCTION_DESCR_SIZE + bpf_tailcall_prologue_size));\n+\tEMIT(PPC_RAW_MTCTR(bpf_to_ppc(TMP_REG_2)));\n+\n \t/*\n \t * Before writing updated tail_call_info, distinguish if current frame\n \t * is storing a reference to tail_call_info or actual tcc value in\n@@ -539,24 +560,6 @@ static int bpf_jit_emit_tail_call(u32 *image, struct codegen_context *ctx, u32 o\n \t/* Writeback updated value to tail_call_info */\n \tEMIT(PPC_RAW_STD(bpf_to_ppc(TMP_REG_1), bpf_to_ppc(TMP_REG_2), 0));\n \n-\t/* prog = array->ptrs[index]; */\n-\tEMIT(PPC_RAW_MULI(bpf_to_ppc(TMP_REG_1), b2p_index, 8));\n-\tEMIT(PPC_RAW_ADD(bpf_to_ppc(TMP_REG_1), bpf_to_ppc(TMP_REG_1), b2p_bpf_array));\n-\tEMIT(PPC_RAW_LD(bpf_to_ppc(TMP_REG_1), bpf_to_ppc(TMP_REG_1), offsetof(struct bpf_array, ptrs)));\n-\n-\t/*\n-\t * if (prog == NULL)\n-\t *   goto out;\n-\t */\n-\tEMIT(PPC_RAW_CMPLDI(bpf_to_ppc(TMP_REG_1), 0));\n-\tPPC_BCC_SHORT(COND_EQ, out);\n-\n-\t/* goto *(prog->bpf_func + prologue_size); */\n-\tEMIT(PPC_RAW_LD(bpf_to_ppc(TMP_REG_1), bpf_to_ppc(TMP_REG_1), offsetof(struct bpf_prog, bpf_func)));\n-\tEMIT(PPC_RAW_ADDI(bpf_to_ppc(TMP_REG_1), bpf_to_ppc(TMP_REG_1),\n-\t\t\tFUNCTION_DESCR_SIZE + bpf_tailcall_prologue_size));\n-\tEMIT(PPC_RAW_MTCTR(bpf_to_ppc(TMP_REG_1)));\n-\n \t/* tear down stack, restore NVRs, ... */\n \tbpf_jit_emit_common_epilogue(image, ctx);\n \n",
    "prefixes": [
        "1/5"
    ]
}