Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2222434/?format=api
{ "id": 2222434, "url": "http://patchwork.ozlabs.org/api/patches/2222434/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260411221413.44304-3-adubey@linux.ibm.com/", "project": { "id": 2, "url": "http://patchwork.ozlabs.org/api/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/", "list_archive_url": "https://lore.kernel.org/linuxppc-dev/", "list_archive_url_format": "https://lore.kernel.org/linuxppc-dev/{}/", "commit_url_format": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}" }, "msgid": "<20260411221413.44304-3-adubey@linux.ibm.com>", "list_archive_url": "https://lore.kernel.org/linuxppc-dev/20260411221413.44304-3-adubey@linux.ibm.com/", "date": "2026-04-11T22:14:10", "name": "[v3,2/5] powerpc/bpf: Move out dummy_tramp_addr after Long branch stub", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "f8cbbc072399333e237aaef839ce823244e1e531", "submitter": { "id": 88541, "url": "http://patchwork.ozlabs.org/api/people/88541/?format=api", "name": "adubey", "email": "adubey@linux.ibm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260411221413.44304-3-adubey@linux.ibm.com/mbox/", "series": [ { "id": 499569, "url": "http://patchwork.ozlabs.org/api/series/499569/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=499569", "date": "2026-04-11T22:14:08", "name": "powerpc/bpf: Add support for verifier selftest", "version": 3, "mbox": "http://patchwork.ozlabs.org/series/499569/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2222434/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2222434/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linuxppc-dev+bounces-19650-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=i35IdX+4;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=112.213.38.117; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19650-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)", "lists.ozlabs.org;\n arc=none smtp.remote-ip=148.163.158.5", "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=i35IdX+4;\n\tdkim-atps=neutral", "lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com\n (client-ip=148.163.158.5; helo=mx0b-001b2d01.pphosted.com;\n envelope-from=adubey@linux.ibm.com; receiver=lists.ozlabs.org)" ], "Received": [ "from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117])\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 4ftMJY5pc0z1yGb\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 12 Apr 2026 04:14:37 +1000 (AEST)", "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4ftMJK4wLbz2yrQ;\n\tSun, 12 Apr 2026 04:14:25 +1000 (AEST)", "from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com\n [148.163.158.5])\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 4ftMJJ3s6pz2yrK\n\tfor <linuxppc-dev@lists.ozlabs.org>; Sun, 12 Apr 2026 04:14:24 +1000 (AEST)", "from pps.filterd (m0360072.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63B7uL8v3062980;\n\tSat, 11 Apr 2026 18:14:09 GMT", "from ppma11.dal12v.mail.ibm.com\n (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4dfdxwsrmk-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tSat, 11 Apr 2026 18:14:09 +0000 (GMT)", "from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1])\n\tby ppma11.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id\n 63BD5RTC014356;\n\tSat, 11 Apr 2026 18:14:08 GMT", "from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227])\n\tby ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 4dcmg5578b-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tSat, 11 Apr 2026 18:14:08 +0000", "from smtpav04.fra02v.mail.ibm.com (smtpav04.fra02v.mail.ibm.com\n [10.20.54.103])\n\tby smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 63BIE4U653215522\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tSat, 11 Apr 2026 18:14:04 GMT", "from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id A82E420043;\n\tSat, 11 Apr 2026 18:14:04 +0000 (GMT)", "from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id A1CF620040;\n\tSat, 11 Apr 2026 18:14:02 +0000 (GMT)", "from ltcrain4-lp15.ltc.tadn.ibm.com (unknown [9.5.7.39])\n\tby smtpav04.fra02v.mail.ibm.com (Postfix) with ESMTP;\n\tSat, 11 Apr 2026 18:14:02 +0000 (GMT)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1775931265;\n\tcv=none;\n b=A+72+xh42vEOTio2buYYLgtwQutfCVsx0ocboiNgBznJt9HjP8joGlJnrAOa6DldHNWrWzCpirSCg4/jRbbFtUpesPckg4ZHWCEaU52DII+BhkwcEvIXUbzOTbt4srj5f7P6JahsnV7uR6DPstptouUAXQjhmbJBHspLAElVXFOt0e59wQyXGY189Meku0TOtOvSZjIs4xypXwvKnNWfBYfR7zos8Mimf0Qmx67PXiSGSLIt7ejO4hPqvF1hJABJKUQBAFKNw/UD4dDy6BywWtpgQsf9N/DlczKosFIG/qkipkk+5cSIJcEhOkNvmwh9hWs7FV0GXNjnXm8384VdCw==", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1775931265; c=relaxed/relaxed;\n\tbh=5hX2IA1gVoidJXqVDB9SGb2K3fToT1fugzo1EB9Q+KA=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=bYK1fBzH6daFBQJzr9b86J7Bx5KJimX+Ug7wzQP/agyXL04ifnUgAJ6X4ULxC5wyEgy6Jelw24Vq8QTmpaDxv4e2D81SjKJc24f1dpdK/Uz+mpNljR2XCyVAD+4bW1OTEYcs//bV+prjlhXvMAFjf3g0A3SQsJwucJ3FWaSVcNDS4v0Ls1eMvUcNFvPKo7Vtt6N2QL+AMXHvtY7rDEM+uMfAUYed5xadvvhxT4CN8NgZyyPj/D62LmEGMYpUW1o4hPyBfQEPWR77bxQMkwNe99FJXAGVKBeVBVvIoxgoshdJaN2wlcrxIBrXNaRjkH5/2OPFWCU/4nqP96x5ag0ArQ==", "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=i35IdX+4; dkim-atps=neutral;\n spf=pass (client-ip=148.163.158.5; helo=mx0b-001b2d01.pphosted.com;\n envelope-from=adubey@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=5hX2IA1gVoidJXqVD\n\tB9SGb2K3fToT1fugzo1EB9Q+KA=; b=i35IdX+4DGswsMKbLxXnVUJzdsRNWOjJh\n\t4OVNxdfaMmJCO8WawLMbhyydIL6+hLWdboMx/d2TJkULx3M53siqs9Itbuom5MWO\n\teaX3Q3Ld6lFeUBoxE7+/f+PANNzPPrCQSkJ8lVQpnVbNghkk58lue0ZurL4mVLjC\n\t6KUObBcvCsL5YvKcob6rfArbn/IYzeFunEx+MUsaNQwNtkHSwk2AwcVk001U6yDi\n\tV7x8UrXdqK4d2rvUNetY/S9bsrzGEdWecD1VWU4Zl8ZKHLvuF09HzJnSQOVu/kpg\n\tbKNOappvh6iao5yB2g8qW46F+WH35bPD3Ozbxzy0qLL2GtG+h6r6g==", "From": "adubey@linux.ibm.com", "To": "bpf@vger.kernel.org", "Cc": "hbathini@linux.ibm.com, linuxppc-dev@lists.ozlabs.org,\n maddy@linux.ibm.com,\n ast@kernel.org, andrii@kernel.org, daniel@iogearbox.net,\n shuah@kernel.org, linux-kselftest@vger.kernel.org,\n stable@vger.kernel.org, Abhishek Dubey <adubey@linux.ibm.com>", "Subject": "[PATCH v3 2/5] powerpc/bpf: Move out dummy_tramp_addr after Long\n branch stub", "Date": "Sat, 11 Apr 2026 18:14:10 -0400", "Message-ID": "<20260411221413.44304-3-adubey@linux.ibm.com>", "X-Mailer": "git-send-email 2.52.0", "In-Reply-To": "<20260411221413.44304-1-adubey@linux.ibm.com>", "References": "<20260411221413.44304-1-adubey@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-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNDExMDE1NyBTYWx0ZWRfXzN8uFByKrmN0\n 4evKjqxAdqx/IKp0JsmgMbk8F0MQ/uBn0gy/lMstIVUA9iK89FGCAJZhgPH0EArRJQelmmf+GHw\n BMUd0dfosh6GbEC0uACBaMoSQPbNsJhJhtMqVCwOyninu8cLh4SzjJ0tmsK5JoZgjtKhzlbloTh\n RdmEi4XaQOPGwTRid5TeWFUZ1MOOKGRcW2Nmame3tr8wwiDZjW6f2gVP5lTePW1wvq9CVb8ZwXG\n 34Br8Is7RdTd0qwqVc5KJZn0g56w7m/vpOuMGhpQSK8DkJNIYRTQcyyQ8OUCuWZ9eT2/CM2fMnj\n Cv/mySN7GW95yIR1ULSmM8VCBDl0ETctH5oQ4aXQGGv8OJKtO5ng5lhPRBprLRbeuV+SWMdGcOR\n E+NQSsOCfqIcbzEbXXd3McjNEF3s4QKIyBlAuV5lIb423MeKHYTM6iBwNUVfv6vz4umCc7C1l1s\n tvTH9prgpLvBqwHvwUg==", "X-Proofpoint-ORIG-GUID": "LHHDgYUUlXZ1kUqaksyCTxxybqeQsxp0", "X-Authority-Analysis": "v=2.4 cv=TId1jVla c=1 sm=1 tr=0 ts=69da8f71 cx=c_pps\n a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22\n a=RzCfie-kr_QcCd8fBx8p:22 a=VnNF1IyMAAAA:8 a=wRVbdlKoTiVShp7l6ZUA:9", "X-Proofpoint-GUID": "LHHDgYUUlXZ1kUqaksyCTxxybqeQsxp0", "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-11_05,2026-04-09_02,2025-10-01_01", "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n bulkscore=0 malwarescore=0 spamscore=0 adultscore=0 phishscore=0\n suspectscore=0 priorityscore=1501 impostorscore=0 clxscore=1015\n lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc=\n route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000\n definitions=main-2604110157", "X-Spam-Status": "No, score=1.7 required=3.0 tests=DATE_IN_FUTURE_03_06,\n\tDKIM_SIGNED,DKIM_VALID,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,\n\tRCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS autolearn=disabled\n\tversion=4.0.1 OzLabs 8", "X-Spam-Level": "*", "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org" }, "content": "From: Abhishek Dubey <adubey@linux.ibm.com>\n\nMove the long branch address space to the bottom of the long\nbranch stub. This allows uninterrupted disassembly until the\nlast 8 bytes. Exclude these last bytes from the overall\nprogram length to prevent failure in assembly generation.\nAlso, align dummy_tramp_addr field with 8-byte boundary.\n\nFollowing is disassembler output for test program with moved down\ndummy_tramp_addr field:\n.....\n.....\npc:68 left:44 a6 03 08 7c : mtlr 0\npc:72 left:40 bc ff ff 4b : b .-68\npc:76 left:36 a6 02 68 7d : mflr 11\npc:80 left:32 05 00 9f 42 : bcl 20, 31, .+4\npc:84 left:28 a6 02 88 7d : mflr 12\npc:88 left:24 14 00 8c e9 : ld 12, 20(12)\npc:92 left:20 a6 03 89 7d : mtctr 12\npc:96 left:16 a6 03 68 7d : mtlr 11\npc:100 left:12 20 04 80 4e : bctr\npc:104 left:8 c0 34 1d 00 :\n\nFailure log:\nCan't disasm instruction at offset 104: c0 34 1d 00 00 00 00 c0\nDisassembly logic can truncate at 104, ignoring last 8 bytes.\n\nUpdate the dummy_tramp_addr field offset calculation from the end\nof the program to reflect its new location, for bpf_arch_text_poke()\nto update the actual trampoline's address in this field.\n\nAll BPF trampoline selftests continue to pass with this patch applied.\n\nSigned-off-by: Abhishek Dubey <adubey@linux.ibm.com>\n---\n arch/powerpc/net/bpf_jit_comp.c | 42 +++++++++++++++++++--------------\n 1 file changed, 24 insertions(+), 18 deletions(-)", "diff": "diff --git a/arch/powerpc/net/bpf_jit_comp.c b/arch/powerpc/net/bpf_jit_comp.c\nindex c255b30a37b0..c2ac4e355464 100644\n--- a/arch/powerpc/net/bpf_jit_comp.c\n+++ b/arch/powerpc/net/bpf_jit_comp.c\n@@ -58,20 +58,22 @@ void bpf_jit_build_fentry_stubs(u32 *image, u32 *fimage, struct codegen_context\n \t * in the fimage. The alignment NOP must appear before OOL stub,\n \t * to make ool_stub_idx & long_branch_stub_idx constant from end.\n \t *\n+\t * The dummy_tramp_addr field is placed at bottom of Long branch stub.\n+\t *\n \t * Need alignment NOP in following conditions:\n \t *\n \t * OOL stub aligned\tCONFIG_PPC_FTRACE_OUT_OF_LINE\tAlignment NOP\n-\t * Y Y N\n-\t * Y N Y\n-\t * N Y Y\n-\t * N N N\n+\t * Y Y Y\n+\t * Y N N\n+\t * N Y N\n+\t * N N Y\n \t */\n #ifdef CONFIG_PPC64\n \tif (fimage && image) {\n \t\tunsigned long pc = (unsigned long)fimage + CTX_NIA(ctx);\n \n-\t\tif (IS_ALIGNED(pc, 8) ^\n-\t\t\tIS_ENABLED(CONFIG_PPC_FTRACE_OUT_OF_LINE))\n+\t\tif (~(IS_ALIGNED(pc, 8) ^\n+\t\t\tIS_ENABLED(CONFIG_PPC_FTRACE_OUT_OF_LINE)))\n \t\t\tEMIT(PPC_RAW_NOP());\n \t}\n #endif\n@@ -93,28 +95,29 @@ void bpf_jit_build_fentry_stubs(u32 *image, u32 *fimage, struct codegen_context\n \n \t/*\n \t * Long branch stub:\n-\t *\t.long\t<dummy_tramp_addr> // 8-byte aligned\n \t *\tmflr\tr11\n \t *\tbcl\t20,31,$+4\n-\t *\tmflr\tr12\n-\t *\tld\tr12, -8-SZL(r12)\n+\t *\tmflr\tr12\t// lr/r12 stores pc of current(this) inst.\n+\t *\tld\tr12, 20(r12) // offset(dummy_tramp_addr) from prev inst. is 20\n \t *\tmtctr\tr12\n-\t *\tmtlr\tr11 // needed to retain ftrace ABI\n+\t *\tmtlr\tr11\t// needed to retain ftrace ABI\n \t *\tbctr\n+\t *\t.long\t<dummy_tramp_addr> // 8-byte aligned\n \t */\n-\tif (image)\n-\t\t*((unsigned long *)&image[ctx->idx]) = (unsigned long)dummy_tramp;\n-\n-\tctx->idx += SZL / 4;\n \tlong_branch_stub_idx = ctx->idx;\n \tEMIT(PPC_RAW_MFLR(_R11));\n \tEMIT(PPC_RAW_BCL4());\n \tEMIT(PPC_RAW_MFLR(_R12));\n-\tEMIT(PPC_RAW_LL(_R12, _R12, -8-SZL));\n+\tEMIT(PPC_RAW_LL(_R12, _R12, 20));\n \tEMIT(PPC_RAW_MTCTR(_R12));\n \tEMIT(PPC_RAW_MTLR(_R11));\n \tEMIT(PPC_RAW_BCTR());\n \n+\tif (image)\n+\t\t*((unsigned long *)&image[ctx->idx]) = (unsigned long)dummy_tramp;\n+\n+\tctx->idx += SZL / 4;\n+\n \tif (!bpf_jit_ool_stub) {\n \t\tbpf_jit_ool_stub = (ctx->idx - ool_stub_idx) * 4;\n \t\tbpf_jit_long_branch_stub = (ctx->idx - long_branch_stub_idx) * 4;\n@@ -1155,6 +1158,7 @@ static void do_isync(void *info __maybe_unused)\n * bpf_func:\n *\t[nop|b]\tool_stub\n * 2. Out-of-line stub:\n+ *\tnop\t// optional nop for alignment\n * ool_stub:\n *\tmflr\tr0\n *\t[b|bl]\t<bpf_prog>/<long_branch_stub>\n@@ -1162,14 +1166,14 @@ static void do_isync(void *info __maybe_unused)\n *\tb\tbpf_func + 4\n * 3. Long branch stub:\n * long_branch_stub:\n- *\t.long\t<branch_addr>/<dummy_tramp>\n *\tmflr\tr11\n *\tbcl\t20,31,$+4\n *\tmflr\tr12\n- *\tld\tr12, -16(r12)\n+ *\tld\tr12, 20(r12)\n *\tmtctr\tr12\n *\tmtlr\tr11 // needed to retain ftrace ABI\n *\tbctr\n+ *\t.long\t<branch_addr>/<dummy_tramp>\n *\n * dummy_tramp is used to reduce synchronization requirements.\n *\n@@ -1271,10 +1275,12 @@ int bpf_arch_text_poke(void *ip, enum bpf_text_poke_type old_t,\n \t * 1. Update the address in the long branch stub:\n \t * If new_addr is out of range, we will have to use the long branch stub, so patch new_addr\n \t * here. Otherwise, revert to dummy_tramp, but only if we had patched old_addr here.\n+\t *\n+\t * dummy_tramp_addr moved to bottom of long branch stub.\n \t */\n \tif ((new_addr && !is_offset_in_branch_range(new_addr - ip)) ||\n \t (old_addr && !is_offset_in_branch_range(old_addr - ip)))\n-\t\tret = patch_ulong((void *)(bpf_func_end - bpf_jit_long_branch_stub - SZL),\n+\t\tret = patch_ulong((void *)(bpf_func_end - SZL), /* SZL: dummy_tramp_addr offset */\n \t\t\t\t (new_addr && !is_offset_in_branch_range(new_addr - ip)) ?\n \t\t\t\t (unsigned long)new_addr : (unsigned long)dummy_tramp);\n \tif (ret)\n", "prefixes": [ "v3", "2/5" ] }