{"id":2222434,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2222434/?format=json","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/1.1/projects/2/?format=json","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":"<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/1.1/people/88541/?format=json","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/1.1/series/499569/?format=json","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":{},"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"]}