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

From: Alexei Starovoitov
Date: Tue Jun 21 2016 - 11:48:34 EST


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.