From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ozlabs.org (ozlabs.org [103.22.144.67]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3rYlX609CqzDq5c for ; Tue, 21 Jun 2016 21:15:50 +1000 (AEST) Message-ID: <1466507748.18876.3.camel@ellerman.id.au> Subject: Re: [PATCH] ppc: Fix BPF JIT for ABIv2 From: Michael Ellerman To: "Naveen N. Rao" , Thadeu Lima de Souza Cascardo Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, netdev@vger.kernel.org, Matt Evans , Daniel Borkmann , Alexei Starovoitov , Denis Kirjanov , Paul Mackerras , "David S. Miller" , Ananth N Mavinakayanahalli Date: Tue, 21 Jun 2016 21:15:48 +1000 In-Reply-To: <20160621085807.GE8886@naverao1-tp.localdomain> References: <908d3552b5eb240b28f70aee7c4c86e2b600aa02.1465304785.git.naveen.n.rao@linux.vnet.ibm.com> <3rWKtT2tSrz9t2G@ozlabs.org> <20160617130042.GO3516@indiana.gru.redhat.com> <20160619174914.GC8886@naverao1-tp.localdomain> <20160620185620.GD3516@indiana.gru.redhat.com> <20160621085807.GE8886@naverao1-tp.localdomain> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Tue, 2016-06-21 at 14:28 +0530, Naveen N. Rao wrote: > On 2016/06/20 03:56PM, Thadeu Lima de Souza Cascardo wrote: > > On Sun, Jun 19, 2016 at 11:19:14PM +0530, Naveen N. Rao wrote: > > > On 2016/06/17 10:00AM, Thadeu Lima de Souza Cascardo wrote: > > > > > > > > Hi, Michael and Naveen. > > > > > > > > I noticed independently that there is a problem with BPF JIT and ABIv2, and > > > > worked out the patch below before I noticed Naveen's patchset and the latest > > > > changes in ppc tree for a better way to check for ABI versions. > > > > > > > > However, since the issue described below affect mainline and stable kernels, > > > > would you consider applying it before merging your two patchsets, so that we can > > > > more easily backport the fix? > > > > > > Hi Cascardo, > > > Given that this has been broken on ABIv2 since forever, I didn't bother > > > fixing it. But, I can see why this would be a good thing to have for > > > -stable and existing distros. However, while your patch below may fix > > > the crash you're seeing on ppc64le, it is not sufficient -- you'll need > > > changes in bpf_jit_asm.S as well. > > > > Hi, Naveen. > > > > Any tips on how to exercise possible issues there? Or what changes you think > > would be sufficient? > > The calling convention is different with ABIv2 and so we'll need changes > in bpf_slow_path_common() and sk_negative_common(). How big would those changes be? Do we know? How come no one reported this was broken previously? This is the first I've heard of it being broken. > However, rather than enabling classic JIT for ppc64le, are we better off > just disabling it? > > --- a/arch/powerpc/Kconfig > +++ b/arch/powerpc/Kconfig > @@ -128,7 +128,7 @@ config PPC > select IRQ_FORCED_THREADING > select HAVE_RCU_TABLE_FREE if SMP > select HAVE_SYSCALL_TRACEPOINTS > - select HAVE_CBPF_JIT > + select HAVE_CBPF_JIT if CPU_BIG_ENDIAN > select HAVE_ARCH_JUMP_LABEL > select ARCH_HAVE_NMI_SAFE_CMPXCHG > select ARCH_HAS_GCOV_PROFILE_ALL > > > Michael, > Let me know your thoughts on whether you intend to take this patch or > Cascardo's patch for -stable before the eBPF patches. I can redo my > patches accordingly. This patch sounds like the best option at the moment for something we can backport. Unless the changes to fix it are minimal. cheers From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Ellerman Subject: Re: [PATCH] ppc: Fix BPF JIT for ABIv2 Date: Tue, 21 Jun 2016 21:15:48 +1000 Message-ID: <1466507748.18876.3.camel@ellerman.id.au> References: <908d3552b5eb240b28f70aee7c4c86e2b600aa02.1465304785.git.naveen.n.rao@linux.vnet.ibm.com> <3rWKtT2tSrz9t2G@ozlabs.org> <20160617130042.GO3516@indiana.gru.redhat.com> <20160619174914.GC8886@naverao1-tp.localdomain> <20160620185620.GD3516@indiana.gru.redhat.com> <20160621085807.GE8886@naverao1-tp.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Matt Evans , Daniel Borkmann , Alexei Starovoitov , netdev@vger.kernel.org, Denis Kirjanov , linux-kernel@vger.kernel.org, Paul Mackerras , linuxppc-dev@lists.ozlabs.org, "David S. Miller" , Ananth N Mavinakayanahalli To: "Naveen N. Rao" , Thadeu Lima de Souza Cascardo Return-path: In-Reply-To: <20160621085807.GE8886@naverao1-tp.localdomain> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+glppe-linuxppc-embedded-2=m.gmane.org@lists.ozlabs.org Sender: "Linuxppc-dev" List-Id: netdev.vger.kernel.org T24gVHVlLCAyMDE2LTA2LTIxIGF0IDE0OjI4ICswNTMwLCBOYXZlZW4gTi4gUmFvIHdyb3RlOgo+ IE9uIDIwMTYvMDYvMjAgMDM6NTZQTSwgVGhhZGV1IExpbWEgZGUgU291emEgQ2FzY2FyZG8gd3Jv dGU6Cj4gPiBPbiBTdW4sIEp1biAxOSwgMjAxNiBhdCAxMToxOToxNFBNICswNTMwLCBOYXZlZW4g Ti4gUmFvIHdyb3RlOgo+ID4gPiBPbiAyMDE2LzA2LzE3IDEwOjAwQU0sIFRoYWRldSBMaW1hIGRl IFNvdXphIENhc2NhcmRvIHdyb3RlOgo+ID4gPiA+IAo+ID4gPiA+IEhpLCBNaWNoYWVsIGFuZCBO YXZlZW4uCj4gPiA+ID4gCj4gPiA+ID4gSSBub3RpY2VkIGluZGVwZW5kZW50bHkgdGhhdCB0aGVy ZSBpcyBhIHByb2JsZW0gd2l0aCBCUEYgSklUIGFuZCBBQkl2MiwgYW5kCj4gPiA+ID4gd29ya2Vk IG91dCB0aGUgcGF0Y2ggYmVsb3cgYmVmb3JlIEkgbm90aWNlZCBOYXZlZW4ncyBwYXRjaHNldCBh bmQgdGhlIGxhdGVzdAo+ID4gPiA+IGNoYW5nZXMgaW4gcHBjIHRyZWUgZm9yIGEgYmV0dGVyIHdh eSB0byBjaGVjayBmb3IgQUJJIHZlcnNpb25zLgo+ID4gPiA+IAo+ID4gPiA+IEhvd2V2ZXIsIHNp bmNlIHRoZSBpc3N1ZSBkZXNjcmliZWQgYmVsb3cgYWZmZWN0IG1haW5saW5lIGFuZCBzdGFibGUg a2VybmVscywKPiA+ID4gPiB3b3VsZCB5b3UgY29uc2lkZXIgYXBwbHlpbmcgaXQgYmVmb3JlIG1l cmdpbmcgeW91ciB0d28gcGF0Y2hzZXRzLCBzbyB0aGF0IHdlIGNhbgo+ID4gPiA+IG1vcmUgZWFz aWx5IGJhY2twb3J0IHRoZSBmaXg/Cj4gPiA+IAo+ID4gPiBIaSBDYXNjYXJkbywKPiA+ID4gR2l2 ZW4gdGhhdCB0aGlzIGhhcyBiZWVuIGJyb2tlbiBvbiBBQkl2MiBzaW5jZSBmb3JldmVyLCBJIGRp ZG4ndCBib3RoZXIgCj4gPiA+IGZpeGluZyBpdC4gQnV0LCBJIGNhbiBzZWUgd2h5IHRoaXMgd291 bGQgYmUgYSBnb29kIHRoaW5nIHRvIGhhdmUgZm9yIAo+ID4gPiAtc3RhYmxlIGFuZCBleGlzdGlu ZyBkaXN0cm9zLiBIb3dldmVyLCB3aGlsZSB5b3VyIHBhdGNoIGJlbG93IG1heSBmaXggCj4gPiA+ IHRoZSBjcmFzaCB5b3UncmUgc2VlaW5nIG9uIHBwYzY0bGUsIGl0IGlzIG5vdCBzdWZmaWNpZW50 IC0tIHlvdSdsbCBuZWVkIAo+ID4gPiBjaGFuZ2VzIGluIGJwZl9qaXRfYXNtLlMgYXMgd2VsbC4K PiA+IAo+ID4gSGksIE5hdmVlbi4KPiA+IAo+ID4gQW55IHRpcHMgb24gaG93IHRvIGV4ZXJjaXNl IHBvc3NpYmxlIGlzc3VlcyB0aGVyZT8gT3Igd2hhdCBjaGFuZ2VzIHlvdSB0aGluawo+ID4gd291 bGQgYmUgc3VmZmljaWVudD8KPiAKPiBUaGUgY2FsbGluZyBjb252ZW50aW9uIGlzIGRpZmZlcmVu dCB3aXRoIEFCSXYyIGFuZCBzbyB3ZSdsbCBuZWVkIGNoYW5nZXMgCj4gaW4gYnBmX3Nsb3dfcGF0 aF9jb21tb24oKSBhbmQgc2tfbmVnYXRpdmVfY29tbW9uKCkuCgpIb3cgYmlnIHdvdWxkIHRob3Nl IGNoYW5nZXMgYmU/IERvIHdlIGtub3c/CgpIb3cgY29tZSBubyBvbmUgcmVwb3J0ZWQgdGhpcyB3 YXMgYnJva2VuIHByZXZpb3VzbHk/IFRoaXMgaXMgdGhlIGZpcnN0IEkndmUKaGVhcmQgb2YgaXQg YmVpbmcgYnJva2VuLgoKPiBIb3dldmVyLCByYXRoZXIgdGhhbiBlbmFibGluZyBjbGFzc2ljIEpJ VCBmb3IgcHBjNjRsZSwgYXJlIHdlIGJldHRlciBvZmYgCj4ganVzdCBkaXNhYmxpbmcgaXQ/Cj4g Cj4gLS0tIGEvYXJjaC9wb3dlcnBjL0tjb25maWcKPiArKysgYi9hcmNoL3Bvd2VycGMvS2NvbmZp Zwo+IEBAIC0xMjgsNyArMTI4LDcgQEAgY29uZmlnIFBQQwo+ICAgICAgICAgc2VsZWN0IElSUV9G T1JDRURfVEhSRUFESU5HCj4gICAgICAgICBzZWxlY3QgSEFWRV9SQ1VfVEFCTEVfRlJFRSBpZiBT TVAKPiAgICAgICAgIHNlbGVjdCBIQVZFX1NZU0NBTExfVFJBQ0VQT0lOVFMKPiAtICAgICAgIHNl bGVjdCBIQVZFX0NCUEZfSklUCj4gKyAgICAgICBzZWxlY3QgSEFWRV9DQlBGX0pJVCBpZiBDUFVf QklHX0VORElBTgo+ICAgICAgICAgc2VsZWN0IEhBVkVfQVJDSF9KVU1QX0xBQkVMCj4gICAgICAg ICBzZWxlY3QgQVJDSF9IQVZFX05NSV9TQUZFX0NNUFhDSEcKPiAgICAgICAgIHNlbGVjdCBBUkNI X0hBU19HQ09WX1BST0ZJTEVfQUxMCj4gCj4gCj4gTWljaGFlbCwKPiBMZXQgbWUga25vdyB5b3Vy IHRob3VnaHRzIG9uIHdoZXRoZXIgeW91IGludGVuZCB0byB0YWtlIHRoaXMgcGF0Y2ggb3IgCj4g Q2FzY2FyZG8ncyBwYXRjaCBmb3IgLXN0YWJsZSBiZWZvcmUgdGhlIGVCUEYgcGF0Y2hlcy4gSSBj YW4gcmVkbyBteSAKPiBwYXRjaGVzIGFjY29yZGluZ2x5LgoKVGhpcyBwYXRjaCBzb3VuZHMgbGlr ZSB0aGUgYmVzdCBvcHRpb24gYXQgdGhlIG1vbWVudCBmb3Igc29tZXRoaW5nIHdlIGNhbgpiYWNr cG9ydC4gVW5sZXNzIHRoZSBjaGFuZ2VzIHRvIGZpeCBpdCBhcmUgbWluaW1hbC4KCmNoZWVycwoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXhwcGMt ZGV2IG1haWxpbmcgbGlzdApMaW51eHBwYy1kZXZAbGlzdHMub3psYWJzLm9yZwpodHRwczovL2xp c3RzLm96bGFicy5vcmcvbGlzdGluZm8vbGludXhwcGMtZGV2