Subject: Re: [PATCH] ppc: Fix BPF JIT for ABIv2

From: Alexei Starovoitov <[email-masked]>
Date: Tue, 21 Jun 2016 08:45:59 -0700

On 6/21/16 7:47 AM, Thadeu Lima de Souza Cascardo wrote:
>>>
>>> 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.
>>
>
> I just heard of it less than two weeks ago, and only could investigate it last
> week, when I realized mainline was also affected.
>
> It looks like the little-endian support for classic JIT were done before the
> conversion to ABIv2. And as JIT is disabled by default, no one seems to have
> exercised it.

it's not a surprise unfortunately. The JITs that were written before
test_bpf.ko was developed were missing corner cases. Typical tcpdump
would be fine, but fragmented packets, negative offsets and
out-out-bounds wouldn't be handled correctly.
I'd suggest to validate the stable backport with test_bpf as well.