{"id":2222437,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2222437/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260411221413.44304-6-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-6-adubey@linux.ibm.com>","date":"2026-04-11T22:14:13","name":"[v3,5/5] selftest/bpf: Add tailcall verifier selftest for powerpc64","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"6064dab5d728d9bc41a6d99e89a69100c10aced5","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-6-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/2222437/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2222437/checks/","tags":{},"headers":{"Return-Path":"\n <linuxppc-dev+bounces-19653-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=QKMSsUgf;\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-19653-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=QKMSsUgf;\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\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)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4ftMJx6FJyz1yGb\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 12 Apr 2026 04:14:57 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4ftMJX2Sz0z2yvb;\n\tSun, 12 Apr 2026 04:14:36 +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 4ftMJW3wSwz2ynf\n\tfor <linuxppc-dev@lists.ozlabs.org>; Sun, 12 Apr 2026 04:14:35 +1000 (AEST)","from pps.filterd (m0356516.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63B0Ot912275536;\n\tSat, 11 Apr 2026 18:14:21 GMT","from ppma23.wdc07v.mail.ibm.com\n (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4dfbqka26m-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tSat, 11 Apr 2026 18:14:21 +0000 (GMT)","from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1])\n\tby ppma23.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id\n 63BDroRM013844;\n\tSat, 11 Apr 2026 18:14:20 GMT","from smtprelay03.fra02v.mail.ibm.com ([9.218.2.224])\n\tby ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4dcmf4n6fa-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tSat, 11 Apr 2026 18:14:20 +0000","from smtpav04.fra02v.mail.ibm.com (smtpav04.fra02v.mail.ibm.com\n [10.20.54.103])\n\tby smtprelay03.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 63BIEGgH55116106\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tSat, 11 Apr 2026 18:14:16 GMT","from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id C9DC620043;\n\tSat, 11 Apr 2026 18:14:16 +0000 (GMT)","from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id C3D5020040;\n\tSat, 11 Apr 2026 18:14:14 +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:14 +0000 (GMT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1775931276;\n\tcv=none;\n b=EtbFNg2cB7g5o3JiMuiOxf0yicVqaAjFLKDZWjEXdgqi7A/1nAM/QxwsV6j/KvqF9A7+6YLjNCYmMGRHrxADgr++qSuk7kWQ+Phm8282PdT1j7I1IYrhDUKOA2lQYArPM9RNALpRaReNPu3NWgkTc/N/LzPmd95c3I7CrveyYidEuh5e/qkGq0lSTcZhxDmoEb/CLIqfxXtD8NsKtt7kmqQBn4kqu7D7/qFmulSvT4Qa9wkxQ3Lz0zzR6Wga8828e0g6zY47Rnw9e1kS+un3NK3mcTnjFP/ZNOmpb/YOGd/4/vkXMBUdGvkCraBjphMB3IzVyl4MUXWE9qr8OO7jgg==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1775931276; c=relaxed/relaxed;\n\tbh=7UzgUOcOLrOw8m6H+qH2Iej3AcpM2LCHHy+6zVvTD8I=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=Z3jalwQVydXsCpE6OdCKwyZ5XLqUl7SzgKZNPUA4UcmQ8l6uuZ6bqe7G6OUUWuduHtgcZKq3zORCNA7ew3Vr0maefQqiduiAwtL7OPbqN2IOa6l/bMjnGH1qjMbVW39MHDX8qiBeZJ5Oa7lrfxNPFUxG2/3/4gKMjWS4hhy0enjIl20GObVNycceY0yuLybvU/ozJ3ZBhadi4z763jZrJk5vXFicu7FEVtUJdmPW0n2dqvnM7eeKI8Wxcjha9dNpJJMXuOSWtKRGG2TnC1ZueKUbGAvGpAPNRWf3ty5llS8wZjA5ToOazXD9qZU4PTcZDnsBTIpjvlx+ykG6k5eblA==","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=QKMSsUgf; 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=7UzgUOcOLrOw8m6H+\n\tqH2Iej3AcpM2LCHHy+6zVvTD8I=; b=QKMSsUgfBH0gzAfY0pLHaCwSu8sxYw8LJ\n\tJ9L1YpWz4MrWZlWa7Kyw6Au6XtqaQw2GtFCne2Dyyn9dgp0rMlRfgoaZCsRpZLqI\n\tVQZy0DsL5MV30lW09GP6d9JKWpKD7oCNhrJ8nHwwoJ964oo6ZgdxcJocebT4uQjt\n\tSOnU42zlHvJXuSX1fA1W5fatbnw0jg70LTo7ApQ726fFRYh7EAS5BFO7ZQ7Eme7r\n\tX8e9sArrCqbIuTNICJK50HrlgR5LV6XsFqrVt6jcLoTnRGc9hr/L79bg6TxdaZCa\n\tpRztVU0siyND/c7RdNmlGR0YxVtRNdS6ZQI2pblBT9W2OX5VH2W6w==","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 5/5] selftest/bpf: Add tailcall verifier selftest for\n powerpc64","Date":"Sat, 11 Apr 2026 18:14:13 -0400","Message-ID":"<20260411221413.44304-6-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-Authority-Analysis":"v=2.4 cv=I+9Vgtgg c=1 sm=1 tr=0 ts=69da8f7d cx=c_pps\n a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22\n a=Y2IxJ9c9Rs8Kov3niI8_:22 a=VnNF1IyMAAAA:8 a=FPGcE6EkJ86GxW4wuzUA:9","X-Proofpoint-GUID":"iIpayN7n4AzRNjnRi8eiT7VfKHDDCcPU","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDExMDE1NyBTYWx0ZWRfX+hVsJk92zHkW\n Pd+zepMizDPEXHI+uRaIGP9ow0WU684/7LvoKcBgcGO1vsi0IwQse/IM6pmVnHsVA1pZ8SeDKv5\n MK9KDish0PmZyAJEC0mN1SZIVhgKYHgCTwRsVGcpCVPIXtOzaKW6PUGP4YZXJEzzNXF+JaZjOzM\n tNAvT6Q8kxV/IwDUAlkAGFYpAaImyiRWZv1oMB4t2UlYTW1fYPJAAZd+4bD/E6BTeUUhcq0Dqn6\n v+luj7lUO7KbeQXKL8QVM38zYUkSDgN9dNCsbwLU2OEQegLP2Re9idEFA6Yn9PEplQ6tQn2XFn5\n uQ5xT99jH1oL8Gu3WINvsUoHmmWZq6vLUrNQ0UtJeQVaf/LJr8wdtp3855Ioq7pi1Nkmq77x5YL\n ODmCsEp/Ak1LyXoWm9MBxjiW/5dtRtyqGSKtNgyLPcLZCO5CdHpkRdnz1fEeg9+UoR9DnguPu8A\n QsIkFfz7XXzFFTuNDnQ==","X-Proofpoint-ORIG-GUID":"iIpayN7n4AzRNjnRi8eiT7VfKHDDCcPU","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 priorityscore=1501 impostorscore=0 bulkscore=0 suspectscore=0 adultscore=0\n lowpriorityscore=0 spamscore=0 malwarescore=0 clxscore=1015 phishscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604010000 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\nVerifier testcase result for tailcalls:\n\n# ./test_progs -t verifier_tailcall\n#618/1   verifier_tailcall/invalid map type for tail call:OK\n#618/2   verifier_tailcall/invalid map type for tail call @unpriv:OK\n#618     verifier_tailcall:OK\n#619/1   verifier_tailcall_jit/main:OK\n#619     verifier_tailcall_jit:OK\nSummary: 2/3 PASSED, 0 SKIPPED, 0 FAILED\n\nSigned-off-by: Abhishek Dubey <adubey@linux.ibm.com>\n---\n .../bpf/progs/verifier_tailcall_jit.c         | 69 +++++++++++++++++++\n 1 file changed, 69 insertions(+)","diff":"diff --git a/tools/testing/selftests/bpf/progs/verifier_tailcall_jit.c b/tools/testing/selftests/bpf/progs/verifier_tailcall_jit.c\nindex 8d60c634a114..17475ecb3207 100644\n--- a/tools/testing/selftests/bpf/progs/verifier_tailcall_jit.c\n+++ b/tools/testing/selftests/bpf/progs/verifier_tailcall_jit.c\n@@ -90,6 +90,75 @@ __jited(\"\tpopq\t%rax\")\n __jited(\"\tjmp\t{{.*}}\")\t\t/* jump to tail call tgt   */\n __jited(\"L0:\tleave\")\n __jited(\"\t{{(retq|jmp\t0x)}}\")\t\t/* return or jump to rethunk */\n+__arch_powerpc64\n+/* program entry for main(), regular function prologue */\n+__jited(\"\tnop\")\n+__jited(\"\tld 2, 16(13)\")\n+__jited(\"\tli 9, 0\")\n+__jited(\"\tstd 9, -8(1)\")\n+__jited(\"\tmflr 0\")\n+__jited(\"\tstd 0, 16(1)\")\n+__jited(\"\tstdu 1, {{.*}}(1)\")\n+/* load address and call sub() via count register */\n+__jited(\"\tlis 12, {{.*}}\")\n+__jited(\"\tsldi 12, 12, 32\")\n+__jited(\"\toris 12, 12, {{.*}}\")\n+__jited(\"\tori 12, 12, {{.*}}\")\n+__jited(\"\tmtctr 12\")\n+__jited(\"\tbctrl\")\n+__jited(\"\tmr\t8, 3\")\n+__jited(\"\tli 8, 0\")\n+__jited(\"\taddi 1, 1, {{.*}}\")\n+__jited(\"\tld 0, 16(1)\")\n+__jited(\"\tmtlr 0\")\n+__jited(\"\tmr\t3, 8\")\n+__jited(\"\tblr\")\n+__jited(\"...\")\n+__jited(\"func #1\")\n+/* subprogram entry for sub() */\n+__jited(\"\tnop\")\n+__jited(\"\tld 2, 16(13)\")\n+/* tail call prologue for subprogram */\n+__jited(\"\tld 10, 0(1)\")\n+__jited(\"\tld 9, -8(10)\")\n+__jited(\"\tcmplwi\t9, 33\")\n+__jited(\"\tbt\t{{.*}}, {{.*}}\")\n+__jited(\"\taddi 9, 10, -8\")\n+__jited(\"\tstd 9, -8(1)\")\n+__jited(\"\tlis {{.*}}, {{.*}}\")\n+__jited(\"\tsldi {{.*}}, {{.*}}, 32\")\n+__jited(\"\toris {{.*}}, {{.*}}, {{.*}}\")\n+__jited(\"\tori {{.*}}, {{.*}}, {{.*}}\")\n+__jited(\"\tli {{.*}}, 0\")\n+__jited(\"\tlwz 9, {{.*}}({{.*}})\")\n+__jited(\"\tslwi {{.*}}, {{.*}}, 0\")\n+__jited(\"\tcmplw\t{{.*}}, 9\")\n+__jited(\"\tbf\t0, {{.*}}\")\n+/* bpf_tail_call implementation */\n+__jited(\"\tld 9, -8(1)\")\n+__jited(\"\tcmplwi\t9, 33\")\n+__jited(\"\tbf\t{{.*}}, {{.*}}\")\n+__jited(\"\tld 9, 0(9)\")\n+__jited(\"\tcmplwi\t9, 33\")\n+__jited(\"\tbt\t{{.*}}, {{.*}}\")\n+__jited(\"\taddi 9, 9, 1\")\n+__jited(\"\tmulli 10, {{.*}}, 8\")\n+__jited(\"\tadd 10, 10, {{.*}}\")\n+__jited(\"\tld 10, {{.*}}(10)\")\n+__jited(\"\tcmpldi\t10, 0\")\n+__jited(\"\tbt\t{{.*}}, {{.*}}\")\n+__jited(\"\tld 10, {{.*}}(10)\")\n+__jited(\"\taddi 10, 10, 16\")\n+__jited(\"\tmtctr 10\")\n+__jited(\"\tld 10, -8(1)\")\n+__jited(\"\tcmplwi\t10, 33\")\n+__jited(\"\tbt\t{{.*}}, {{.*}}\")\n+__jited(\"\taddi 10, 1, -8\")\n+__jited(\"\tstd 9, 0(10)\")\n+__jited(\"\tbctr\")\n+__jited(\"\tmr\t3, 8\")\n+__jited(\"\tblr\")\n+\n SEC(\"tc\")\n __naked int main(void)\n {\n","prefixes":["v3","5/5"]}