From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1DC2CC44515 for ; Mon, 20 Jul 2026 14:25:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:References:To:From:Subject: Cc:Message-Id:Date:Mime-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=MG5OzQM47NFJwEoC4ayop/rxEJPYW8rCbuHf2UXxenM=; b=xDvt05NSVEFlpn en5kVa2X7Z0msVRNM5ul3rso2cB5ICTmurZwxjJAteZrTHx2ox3F0J2yQ9rMEMEivND6QHXWHDANu D57RjClOtKaB3DL3AJ4heCVR6vA7JyTFu+pYdQ7ocHslY4PnDkMfAmPog3TrxPQ1X+8QxlFfXCQSR 0l7RkbULqBjGpchCRpjwmLmBIUCqxkH1J3I05YqqKh5YQ/qcX6GVjlDJH0MoN6H7jnQUxumDJDzGy mLkFg9/+QEO8imuAe2z6Q3KSc314o95UeFNhCrmph3ac1vXC0pO82+vtXDXcFIGBgfnjdDzyZN/lF URWmrRJosy95+fge24bg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wlovL-00000006xLF-4AvX; Mon, 20 Jul 2026 14:24:52 +0000 Received: from mail-wm2-x0a.google.com ([2a00:1450:4864:31::a]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wlovJ-00000006xKm-1JvE for linux-riscv@lists.infradead.org; Mon, 20 Jul 2026 14:24:50 +0000 Received: by mail-wm2-x0a.google.com with SMTP id 5b1f17b1804b1-495501e57beso6703165e9.1 for ; Mon, 20 Jul 2026 07:24:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784557486; x=1785162286; darn=lists.infradead.org; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-type:content-transfer-encoding:mime-version:from:to:cc :subject:date:message-id:reply-to:content-type; bh=WY4da/eZLxxQmiBbPjg8+Of4x2fEz1afwkY5i+KDZGo=; b=claPF2Wgt4DEPQnNih5Yka9/+KMGr7jTr5G0zmw+Y9PNoS8mOO9+SPFN9XSeUjIVxH DI9lcFSZuyam6BdmsyaFiDIrW45cJdmlYUTlAj6QawgBveFJpDtaC6HqNvd6xFILg3sK azzfvT01uTJs7ca70pCyNQpvF4636kIZFKXulp+n1ha/V2QktVAOasQ6y0p2Khke1fhY Jlgle1PsgS33mUzsf9QeWCLj6YDoJkkZV2N3iIar/TzNPRS80INcuTjV5dLzB4gLbsRQ Q7F19Xiy9PPIFZgkWIZFwKGwwc9Ey+zV5XmHO/htEG6Jev3rfO42t/lXUzt1JDOlSe+h T54A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784557486; x=1785162286; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-type:content-transfer-encoding:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=WY4da/eZLxxQmiBbPjg8+Of4x2fEz1afwkY5i+KDZGo=; b=mj8O8J55GcJiyIKkG6Je08CduitsdRqiovGvhqSY5MfNCh/LhkPVKiFEosPTwrvvxt eWAa4eRaZd9uMr2KPL+penXWmlR6F8dvjls4fGP8hUg4NTQk0udJLHANy/tr8hnE31DX oC4Ouv6cWIkiQNIq/i1f6LUL0KqRIIHXncYYgAYythwcpVi58StvcuqGzkwi8oA/aAsc BBIyKCNJQPtix3hyXByE9SfrKldCgDrygeUiBewnubTrsby8hLUaJHCsDEobm/IKcdZl 2jEBfucfiRzo92DljESvANDrRIL0HKZSi3uCXhzE0D/I35sxhsCCPdplTnOTPFiku3i3 etdQ== X-Forwarded-Encrypted: i=1; AHgh+Roa/Hszp6lvUDpCUpj4cF5d1t2/Un4kG1ZXR5O+wdE2JqMfVl42+qaawX29T4hST6E+iYv6vIw9V5qf7A==@lists.infradead.org X-Gm-Message-State: AOJu0Yzn2xN/UR9zJCkQlAN24by9ErKTWk/zwz1OknBVKqMD7bn/vF/j f7djqla/Nowjjo00hpfYHScAGREgBliz+wZoYY8Ijp0Kw1ElNT3W0JOo X-Gm-Gg: AfdE7cnq+XNiIJleKq0+8xn5Y0BlKv0NH+V2VeeyBK73SUCFZyZfydisCHUihb3vBR7 lFZkLukYWMF+6z4Bv7TblLW/HbjxshowhZkwT9dthZt415pGQsbhYEkK6b/JYpnZONmfq7QUpAs xtYFp1ivS/AHfGH14vkEB/V/i13HTP7ePOTThUxF1WHKzfncLSC1SJKhMDGxXycYssjcjciO6AX y5jJM7p3MIlWHv3T048mR47rQ5PIvmAYHxGmIQHXK1WbofubLNw9D+qQQvS54OTEOwZxbQ17fbZ 0ZHIgz5HXB9ydeo3gWK0HyOI1nCwiPTtQM3jzbRnZpSW65qzQxjxW3PejH1MhLP8XNGxuAle89Q ViCQfe+6xZBfhhFEU70mCm60sHU3+V+nJFly/e/FDCJ5Ha/Uxce2KqZHTXilG0nd3spXmlITz1M 07RvZW36P8bxzLjoCldkNDnjUMTu7GOh3U9nKs0JVovticAP3N9GCQejjFy9Y4hBy0J1jL3PJn8 nTu3xrf1HiZjoo85XnW7MpG5J2TeQIjKfrzjqD5xIsNTLLDrnqd5mo= X-Received: by 2002:a05:600c:ad7:b0:495:3c6d:f294 with SMTP id 5b1f17b1804b1-4954a402da3mr118155185e9.23.1784557485673; Mon, 20 Jul 2026 07:24:45 -0700 (PDT) Received: from localhost (nat-icclus-192-26-29-3.epfl.ch. [192.26.29.3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f67466e09sm32026063f8f.21.2026.07.20.07.24.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jul 2026 07:24:44 -0700 (PDT) Mime-Version: 1.0 Date: Mon, 20 Jul 2026 16:24:44 +0200 Message-Id: Cc: "Daniel Borkmann" , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [PATCH bpf-next v6 6/7] riscv, bpf: Mixing bpf2bpf and tailcalls From: "Kumar Kartikeya Dwivedi" To: "Pu Lehui" , =?utf-8?q?Bj=C3=B6rn_T=C3=B6pel?= X-Mailer: aerc 0.21.0 References: <20260708064436.2971933-7-pulehui@huaweicloud.com> <23cb9eac-1775-44b8-a9ec-10edde808a30@huaweicloud.com> <326eda4a-39e6-4f1e-8fe5-dc1cc9ae6739@iogearbox.net> In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260720_072449_404279_15B3DED7 X-CRM114-Status: GOOD ( 18.18 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gRnJpIEp1bCAxNywgMjAyNiBhdCA5OjM3IEFNIENFU1QsIFB1IExlaHVpIHdyb3RlOgo+Cj4K PiBPbiAyMDI2LzcvMTAgMTc6NDMsIERhbmllbCBCb3JrbWFubiB3cm90ZToKPj4gT24gNy8xMC8y NiAyOjUzIEFNLCBQdSBMZWh1aSB3cm90ZToKPj4+IE9uIDIwMjYvNy8xMCAzOjUxLCBCasO2cm4g VMO2cGVsIHdyb3RlOgo+Pj4+IE9uIFRodSwgOSBKdWwgMjAyNiBhdCAxNzowOSwgUHUgTGVodWkg PHB1bGVodWlAaHVhd2VpY2xvdWQuY29tPiB3cm90ZToKPj4+Pj4gT24gMjAyNi83LzkgMTk6Mzcs IEJqw7ZybiBUw7ZwZWwgd3JvdGU6Cj4+Pj4+PiBTb3JyeSBmb3IgdGhlIGRlbGF5IGhlcmUgLS0g dGhlIGJvdCBoYWQgbWUgdGhpbmtpbmcgYSBiaXQuCj4+Pj4+Pgo+Pj4+Pj4gT24gV2VkLCA4IEp1 bCAyMDI2IGF0IDEwOjU0LCBQdSBMZWh1aSA8cHVsZWh1aUBodWF3ZWljbG91ZC5jb20+IHdyb3Rl Ogo+Pj4+Pj4gLi4uCj4+Pj4+Pgo+Pj4+Pj4+PiBUaGlzIGFzc3VtZXMgYSBmaXhlZCBudW1iZXIg b2YgaW5zdHJ1Y3Rpb25zIGJlZm9yZSB0aGUgdGFpbGNhbGwKPj4+Pj4+Pj4gZW50cnkKPj4+Pj4+ Pj4gcG9pbnQuIFdoZW4gaXNfc3VicHJvZyBpcyB0cnVlLCB0aGUgcnZfYWRkaSgpIGluc3RydWN0 aW9uIGlzIG5vdAo+Pj4+Pj4+PiBlbWl0dGVkLAo+Pj4+Pj4+PiB3aGljaCBtZWFucyB0aGUgdGFp bGNhbGwgZW50cnkgcG9pbnQgbW92ZXMgZm9yd2FyZCBieSA0IGJ5dGVzCj4+Pj4+Pj4+IHJlbGF0 aXZlIHRvCj4+Pj4+Pj4+IHdoZXJlIFJWX1RBSUxDQUxMX09GRlNFVCBleHBlY3RzIGl0IHRvIGJl Lgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBUaGUgdGFpbGNhbGwgZW50cnkgaXMgdXNlZCBpbiBlbWl0X2Jw Zl90YWlsX2NhbGwoKSB3aGVuCj4+Pj4+Pj4+IGNhbGN1bGF0aW5nIHRoZQo+Pj4+Pj4+PiBqdW1w IHRhcmdldCBmb3IgdGhlIHRhaWwgY2FsbC4gSWYgUlZfVEFJTENBTExfT0ZGU0VUIGRvZXNuJ3QK Pj4+Pj4+Pj4gYWNjb3VudCBmb3IKPj4+Pj4+Pj4gdGhlIGNvbmRpdGlvbmFsIGVtaXNzaW9uLCBj b3VsZCB0aGlzIGNhdXNlIHRoZSB3cm9uZyBlbnRyeSBwb2ludAo+Pj4+Pj4+PiB0byBiZQo+Pj4+ Pj4+PiB1c2VkIHdoZW4gdGFpbCBjYWxsaW5nIGludG8gc3VicHJvZ3JhbXM/Cj4+Pj4+Pj4KPj4+ Pj4+PiBUaGlzIGlzIG5vdCBhbiBpc3N1ZSwgc3VicHJvZyBjYW4gbm90IGJlIHRoZSB0YWlsY2Fs bCBjYWxsZWUuCj4+Pj4+Pgo+Pj4+Pj4gU2F5LCB0aGF0IHdlIGhhdmUgYW4gZW50cnkgZnVuY3Rp b24gdGhhdCBkb2VzIGJwZl9mb3JfZWFjaF9tYXBfYXJyYXkoKQo+Pj4+Pj4gaW50byBhIGNhbGxi YWNrIGNiKCkuIGNiKCkgaXMgYSBzdWJwcm9ncmFtLCBzbyBubyBpbml0IG9mIFRDQy4gTm93LAo+ Pj4+Pj4gY2IoKSBjYWxscyBhbm90aGVyIHN1YnByb2dyYW0gdGhhdCBkb2VzIGEgdGFpbGNhbGwu Cj4+Pj4+Pgo+Pj4+Pj4gVGhlIGNhbGxiYWNrIHRvIGNiKCkgaXMgY29taW5nIGZyb20gdGhlIGtl cm5lbCwgc28gYTYgY291bGQgaGF2ZSBiZWVuCj4+Pj4+PiBjbG9iYmVyZWQsIG5vPyBXZSdyZSBl bnRlcmluZyBhIHN1YnByb2dyYW0gY29taW5nIGZyb20gdGhlIEMgQUJJLiBOb3csCj4+Pj4+PiBp ZiB0aGUgY2FsbGJhY2sgY2FsbHMgYSBzdWJwcm9nIHRoYXQncyB0YWlsLWNhbGwgcmVhY2hhYmxl LCB0aGUgVENDCj4+Pj4+PiBjYW4gYmUgZ2FyYmFnZT8KPj4+Pj4KPj4+Pj4gU2FzaGlrbyByZXBv cnRlZCB0aGUgc2FtZSBpc3N1ZSB5ZXN0ZXJkYXkuIEkgdmVyaWZpZWQgdGhhdCB0aGUgdmVyaWZp ZXIKPj4+Pj4gcmVqZWN0cyBjYXNlcyB3aGVyZSBhIHRhaWwgY2FsbCBpcyBpbnZva2VkIHdpdGhp biBhIGNhbGxiYWNrOwo+Pj4+PiBzcGVjaWZpY2FsbHksIHdoaWxlIHRoZSBjYWxsYmFjaydzIHJl dHVybiB2YWx1ZSByYW5nZSBpcyBbMCwgMV0sIHRoZQo+Pj4+PiBzaW11bGF0aW9uIG9mIHRoZSBl eGl0IHBhdGggaW4gYGNoZWNrX2hlbHBlcl9jYWxsYCAoaGFuZGxpbmcgdGhlIHRhaWwKPj4+Pj4g Y2FsbCBoZWxwZXIpIG1hcmtzIFIwIGFzIFVOS05PV04sIGNhdXNpbmcgdGhlIHZlcmlmaWVyIHRv IHJlamVjdAo+Pj4+PiBpdOKAlHNvIEkKPj4+Pj4gZGlkbid0IGludmVzdGlnYXRlIGZ1cnRoZXIu IEhvd2V2ZXIsIEkganVzdCB2ZXJpZmllZCB0aGF0IHRoZSB2ZXJpZmllcgo+Pj4+PiAqZG9lcyog YWNjZXB0IHRoZSBzY2VuYXJpbyB3aGVyZSBhIGNhbGxiYWNrIGNhbGxzIGEgc3VicHJvZ3JhbSwg YW5kCj4+Pj4+IHRoYXQKPj4+Pj4gc3VicHJvZ3JhbSBzdWJzZXF1ZW50bHkgY2FsbHMgYSB0YWls IGNhbGwuIEkgYmVsaWV2ZSB0aGlzIHNjZW5hcmlvCj4+Pj4+IG91Z2h0Cj4+Pj4+IHRvIGJlIHJl amVjdGVkOyBwZXJoYXBzIHNvbWUgY2hhbmdlcyBhcmUgbmVlZGVkIGluIHRoZSB2ZXJpZmllciwK Pj4+Pj4gb3RoZXJ3aXNlIHRhaWwgY2FsbHMgb24gb3RoZXIgYXJjaGl0ZWN0dXJlcyAobGlrZSB4 ODYpIHdvdWxkIGFsc28gYmUKPj4+Pj4gc3VzY2VwdGlibGUgdG8gaW5maW5pdGUgbG9vcCBpc3N1 ZXMuCj4+Pj4KPj4+PiBUaGFua3MgZm9yIHRyeWluZyBpdCBvdXQhCj4+Pj4KPj4+PiBPaywgc28g c2VlbXMgbGlrZSB3ZSBuZWVkIGEgdmVyaWZpZXIgZml4IHByZS1sYW5kaW5nPwo+Cj4gSGkgQmrD tnJuLAo+Cj4gSnVzdCBhIHF1aWNrIG5vdGUgdGhhdCB0aGUgdmVyaWZpZXIgZml4IHdlIGRpc2N1 c3NlZCBoYXMgbm93IGxhbmRlZCBpbgo+IGJwZi1uZXh0IFswXS4gTG9va2luZyBmb3J3YXJkIHRv IHlvdXIgZmVlZGJhY2sgb24gdjYgd2hlbmV2ZXIgeW91IGdldCBhCj4gY2hhbmNlLiA6KQoKWWVw LCBpZiB0aGVyZSBhcmUgbm8gbW9yZSBjb25jZXJucywgaXQgd291bGQgbWFrZSBzZW5zZSB0byBw dWxsIHRoaXMgaW4uCgpCasO2cm4sIHdoYXQgZG8geW91IHRoaW5rPwoKPiBbLi4uXQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFp bGluZyBsaXN0CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm2-f10.google.com (mail-wm2-f10.google.com [74.125.225.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B896B429006 for ; Mon, 20 Jul 2026 14:24:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.138 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784557489; cv=none; b=JlCZbOl4RPZOvd7lKTejnjktV2q/tkbXOerMlI+HpK6t2Zz/GHwim9ts2Qy7RHbtz2AZvxc+Njd5fizlD/TpgTulpNKsSQ5pELi1olhoYiwmWxrvlLHJdg9PTzInG+USrgM028Bj8j+iJiAHWiK9jc7DLCJ9Z1aY+jkiBxw6I24= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784557489; c=relaxed/simple; bh=WY4da/eZLxxQmiBbPjg8+Of4x2fEz1afwkY5i+KDZGo=; h=Mime-Version:Content-Type:Date:Message-Id:Cc:Subject:From:To: References:In-Reply-To; b=aUQem5W7g/lR2zdlyUTmY01rqze3sevvBxSen//HWU6hyY67DTy5XwzlE9cErvDpGq7FAyDXJL1x9U2v2UT+FPQiq3hbVfOeqxaOI7QFrfFxpWlyABfkdsrg7urz11ALutUOx2kBWu6APCclvBXluy03e6xmcnbndPrMbCj+Jww= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BPThb9AI; arc=none smtp.client-ip=74.125.225.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BPThb9AI" Received: by mail-wm2-f10.google.com with SMTP id 5b1f17b1804b1-495501e57beso6703175e9.1 for ; Mon, 20 Jul 2026 07:24:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784557486; x=1785162286; darn=vger.kernel.org; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-type:content-transfer-encoding:mime-version:from:to:cc :subject:date:message-id:reply-to:content-type; bh=WY4da/eZLxxQmiBbPjg8+Of4x2fEz1afwkY5i+KDZGo=; b=BPThb9AIb0DY1uqtP98pAceUa726XNT6s7fy0bOABefqTOrhBj+YsSJCbFMxnK0Ra0 dQ0tYrrpQWjADBL2IJki1Fbv53823/lOAl2xJu0l1WSdGW1fJQ2f3Nht7OciivXF1pIE nQxSyFyQcwm6MoGXCNff2X/x7iGZUzQCOBI1w0GR81ViTKKMc38XVnTm52HnGptiFZuZ FAmYf8xcQhsFgpxXF+laX1stcPYLT2syKUTEbnV3OXITxdJpakYsC/0d+7XsOklBsIME ys9Y9QHGicu6ZEhneBwJKrMY+VUVkGjQohOF10y2hvHMP+Glnjo349Cf2c5LOjEMqTQp uzzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784557486; x=1785162286; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-type:content-transfer-encoding:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=WY4da/eZLxxQmiBbPjg8+Of4x2fEz1afwkY5i+KDZGo=; b=QNk8IIctNv8VyWbASrKWwBCPWvr9tb0OlNBOKpghATmqUcSn9Xnibrr+ENc/lKz5V3 VhEZM7O5/q06ZvqiAocR50d+iLf5KzgAtpFpI+8AYmlfm1/+m3+1sLObqZjp0STTDcHR tyDgY5qfEM1l0P3DaPtZkGWXiODhC8GDuvg5zMcjNmPoyiMvaSd447DVlsn7JjIzftxJ BZpdyaVLysnW2/vjUnNtRvxs0IqPh1qZm4yyDzAq11W+EqHkCyJs/yu+mRd/Ll1fEngt DOMpZeBSeHf9kM4Xk4Psk8P3HwET0COcBiQlOW8Nk/itLiL8FpZzhEhgkNbTcuiophT2 VGgw== X-Forwarded-Encrypted: i=1; AHgh+RqXOODhoQTR/Y/tXX3dfTdlFDsN3K9UrsBmEq0xTE6zidAWy7lW8TUDbXiApg5DMAc+OZ4=@vger.kernel.org X-Gm-Message-State: AOJu0YwCki5nSJemQiTNEEpFqN3jjveKytqqeqghYeYbNTrNDemZ1Ji7 v1dqsmuoHWS8KVHO3y15gtSiYwt4bOIaz+cUK6POlps6etsBkbSljZ0t X-Gm-Gg: AfdE7cmXOfx7wOZlnsO5TUpIg7zXSPiQBMbFPzAzieXcK2pMwNEOkrBJ7tbL653/V2K 1ct/mk/yLHMLvYtjvk9USq6tavubp3QqadopIKVAZ8fNNwsxiS6AvTyuh8gnRZzaeGUlCTFLCL1 5EQKbaKgt22hGlof/SD2eQ0hF0LI6A+Ci2+eF8Yiq7dMXAH4jjmma/S67Pqs2j+/xkpNKyXLmV2 BAYmKVoX0c4KZIDJv9R/3qQYuKpd3owI71Fg4uGyXsIUzwvsVxBaZDq3eN7ehDsTvFMdSXPC04M IWZoWWvKOGDk0AMTYszvioKN627LgsWifMaFwLV+p6K5KUz9icBb6x9wPy9clG5b3gUUyE5y8mO 7m1gmVle6RkFrYHtUoqkOjfTDaokmYLF+4zrfgQVKkVIIl1cttQ5k8IW5S+fE/YOXrchTtSv1zX 2eYDNC98IYfdxlwxA3i+KyJNbRNdWuuATaGJAde7I+ggGtuS1WGediobcfnLU0BFPW7IXI3g3d/ uRWWz+ahWeebuEeh5pdCz6YslTZBXtrxzLTFAryZGF3nbTMJfWOrsc= X-Received: by 2002:a05:600c:ad7:b0:495:3c6d:f294 with SMTP id 5b1f17b1804b1-4954a402da3mr118155185e9.23.1784557485673; Mon, 20 Jul 2026 07:24:45 -0700 (PDT) Received: from localhost (nat-icclus-192-26-29-3.epfl.ch. [192.26.29.3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f67466e09sm32026063f8f.21.2026.07.20.07.24.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jul 2026 07:24:44 -0700 (PDT) Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Mon, 20 Jul 2026 16:24:44 +0200 Message-Id: Cc: "Daniel Borkmann" , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [PATCH bpf-next v6 6/7] riscv, bpf: Mixing bpf2bpf and tailcalls From: "Kumar Kartikeya Dwivedi" To: "Pu Lehui" , =?utf-8?q?Bj=C3=B6rn_T=C3=B6pel?= X-Mailer: aerc 0.21.0 References: <20260708064436.2971933-7-pulehui@huaweicloud.com> <23cb9eac-1775-44b8-a9ec-10edde808a30@huaweicloud.com> <326eda4a-39e6-4f1e-8fe5-dc1cc9ae6739@iogearbox.net> In-Reply-To: On Fri Jul 17, 2026 at 9:37 AM CEST, Pu Lehui wrote: > > > On 2026/7/10 17:43, Daniel Borkmann wrote: >> On 7/10/26 2:53 AM, Pu Lehui wrote: >>> On 2026/7/10 3:51, Bj=C3=B6rn T=C3=B6pel wrote: >>>> On Thu, 9 Jul 2026 at 17:09, Pu Lehui wrote: >>>>> On 2026/7/9 19:37, Bj=C3=B6rn T=C3=B6pel wrote: >>>>>> Sorry for the delay here -- the bot had me thinking a bit. >>>>>> >>>>>> On Wed, 8 Jul 2026 at 10:54, Pu Lehui wrot= e: >>>>>> ... >>>>>> >>>>>>>> This assumes a fixed number of instructions before the tailcall >>>>>>>> entry >>>>>>>> point. When is_subprog is true, the rv_addi() instruction is not >>>>>>>> emitted, >>>>>>>> which means the tailcall entry point moves forward by 4 bytes >>>>>>>> relative to >>>>>>>> where RV_TAILCALL_OFFSET expects it to be. >>>>>>>> >>>>>>>> The tailcall entry is used in emit_bpf_tail_call() when >>>>>>>> calculating the >>>>>>>> jump target for the tail call. If RV_TAILCALL_OFFSET doesn't >>>>>>>> account for >>>>>>>> the conditional emission, could this cause the wrong entry point >>>>>>>> to be >>>>>>>> used when tail calling into subprograms? >>>>>>> >>>>>>> This is not an issue, subprog can not be the tailcall callee. >>>>>> >>>>>> Say, that we have an entry function that does bpf_for_each_map_array= () >>>>>> into a callback cb(). cb() is a subprogram, so no init of TCC. Now, >>>>>> cb() calls another subprogram that does a tailcall. >>>>>> >>>>>> The callback to cb() is coming from the kernel, so a6 could have bee= n >>>>>> clobbered, no? We're entering a subprogram coming from the C ABI. No= w, >>>>>> if the callback calls a subprog that's tail-call reachable, the TCC >>>>>> can be garbage? >>>>> >>>>> Sashiko reported the same issue yesterday. I verified that the verifi= er >>>>> rejects cases where a tail call is invoked within a callback; >>>>> specifically, while the callback's return value range is [0, 1], the >>>>> simulation of the exit path in `check_helper_call` (handling the tail >>>>> call helper) marks R0 as UNKNOWN, causing the verifier to reject >>>>> it=E2=80=94so I >>>>> didn't investigate further. However, I just verified that the verifie= r >>>>> *does* accept the scenario where a callback calls a subprogram, and >>>>> that >>>>> subprogram subsequently calls a tail call. I believe this scenario >>>>> ought >>>>> to be rejected; perhaps some changes are needed in the verifier, >>>>> otherwise tail calls on other architectures (like x86) would also be >>>>> susceptible to infinite loop issues. >>>> >>>> Thanks for trying it out! >>>> >>>> Ok, so seems like we need a verifier fix pre-landing? > > Hi Bj=C3=B6rn, > > Just a quick note that the verifier fix we discussed has now landed in > bpf-next [0]. Looking forward to your feedback on v6 whenever you get a > chance. :) Yep, if there are no more concerns, it would make sense to pull this in. Bj=C3=B6rn, what do you think? > [...]