Re: [PATCH bpf] selftests/bpf: DENYLIST.aarch64: Remove fexit_sleep

From: Daniel Borkmann
Date: Tue Jul 09 2024 - 13:45:08 EST


On 7/8/24 6:42 PM, KP Singh wrote:
On Mon, Jul 8, 2024 at 6:09 PM Daniel Borkmann <daniel@xxxxxxxxxxxxx> wrote:
On 7/8/24 5:35 PM, Puranjay Mohan wrote:
Daniel Borkmann <daniel@xxxxxxxxxxxxx> writes:
On 7/8/24 5:26 PM, KP Singh wrote:
On Mon, Jul 8, 2024 at 5:00 PM Puranjay Mohan <puranjay@xxxxxxxxxx> wrote:
Daniel Borkmann <daniel@xxxxxxxxxxxxx> writes:
On 7/5/24 4:50 PM, Puranjay Mohan wrote:
fexit_sleep test runs successfully now on the CI so remove it from the
deny list.

Do you happen to know which commit fixed it? If yes, might be nice to have it
documented in the commit message.

Actually, I never saw this test failing on my local setup and yesterday
I tried running it on the CI where it passed as well. So, I assumed that
this would be fixed by some commit. I am not sure which exact commit
might have fixed this.

Manu, Martin

When this was added to the deny list was this failing every time and did
you have some reproducer for this. If there is a reproducer, I can try
fixing it but when ran normally this test never fails for me.

I think this never worked until
https://lore.kernel.org/lkml/20230405180250.2046566-1-revest@xxxxxxxxxxxx/
was merged, FTrace direct calls was blocking tracing programs on ARM,
since then it has always worked.

Awesome, thanks! I'll add this to the commit desc then when applying.

The commit that added this to the deny list said:
31f4f810d533 ("selftests/bpf: Add fexit_sleep to DENYLIST.aarch64")

```
It is reported that the fexit_sleep never returns in aarch64.
The remaining tests cannot start.
```

It may also have something to do with sleepable programs. But I think
it's generally in the category of "BPF tracing was catching up with
ARM", it has now.

Hm, the latest run actually hangs in fexit_sleep (which is the test right after
fexit_bpf2bpf). So looks like this was too early. It seems some CI runs pass on
arm64 but others fail:

https://github.com/kernel-patches/bpf/actions/runs/9859826851/job/27224868398 (fail)
https://github.com/kernel-patches/bpf/actions/runs/9859837213/job/27224955045 (pass)

Puranjay, do you have a chance to look into this again?

So, if the lack of Ftrace direct calls would be the reason then the
failure would be due to fexit programs not being supported on arm64.

But this says that the selftest never returns therefore is not related
to ftrace direct call support but another bug?

Fwiw, at least it is passing in the BPF CI now.

https://github.com/kernel-patches/bpf/actions/runs/9841781347/job/27169610006