Re: [5.10, 5.15] New bpf kselftest failure

Eduard Zingerman
2023-07-18T14:35:37Z

On Tue, 2023-07-18 at 10:06 -0400, Luiz Capitulino wrote:
>
> On 2023-07-18 08:31, Eduard Zingerman wrote:
>
> >
> >
> >
> > On Tue, 2023-07-18 at 01:57 +0300, Eduard Zingerman wrote:
> > > [...]
> > > Still, when I cherry-pick [0,1,2,3] `./test_progs -a setget_sockopt` is failing.
> > > I'll investigate this failure but don't think I'll finish today.
> > >
> > > ---
> > >
> > > Alternatively, if the goal is to minimize amount of changes, we can
> > > disable or modify the 'precise: ST insn causing spi > allocated_stack'.
> > >
> > > ---
> > >
> > > Commits (in chronological order):
> > > [0] be2ef8161572 ("bpf: allow precision tracking for programs with subprogs")
> > > [1] f63181b6ae79 ("bpf: stop setting precise in current state")
> > > [2] 7a830b53c17b ("bpf: aggressively forget precise markings during state checkpointing")
> > > [3] 4f999b767769 ("selftests/bpf: make test_align selftest more robust")
> > > [4] 07d90c72efbe ("Merge branch 'BPF verifier precision tracking improvements'")
> > > [5] ecdf985d7615 ("bpf: track immediate values written to stack by BPF_ST instruction")
> >
> > I made a mistake, while resolving merge conflict for [0] yesterday.
> > After correction the `./test_progs -a setget_sockopt` passes.
> > I also noted that the following tests fail on v6.1.36:
> >
> > ./test_progs -a sk_assign,fexit_bpf2bpf
> >
> > These tests are fixed by back-porting the following upstream commits:
> > - 7ce878ca81bc ("selftests/bpf: Fix sk_assign on s390x")
> > - 63d78b7e8ca2 ("selftests/bpf: Workaround verification failure for fexit_bpf2bpf/func_replace_return_code")
> >
> > I pushed modified version of v6.1.36 to my github account, it has
> > test_verifier, test_progs, test_progs-no_alu32 and test_maps passing
> > (on my x86 setup):
> >
> > https://github.com/eddyz87/bpf/commits/v6.1.36-with-fixes
> >
> > Do you need any additional actions from my side?
>
> First, thank you very much for your work on this and getting the tests
> passing on 6.1.

Thank you.

> In terms of action items, have you checked this situation in 5.10 and
> 5.15? For 5.10, we also need 4237e9f4a96228ccc8a7abe5e4b30834323cd353
> otherwise the bpf tests don't even build there.

Haven't checked 5.15/5.10, will take a look.
Are there any time-frame limitations?
(I'd like to work on this on Wednesday or Thursday)

>
> Also, would you know if something important is broken for users or is
> this just a small behavior difference between kernels?

I think it's more like small behavior difference:
- be2ef8161572, f63181b6ae79, 7a830b53c17b are verification
scalability optimizations, with these patches it is possible
to load a bit more complex programs (larger programs, or more
complex branching patterns).
- 4f999b767769, 7ce878ca81bc, 63d78b7e8ca2 - fixes for selftests,
no new functionality.

Thanks,
Eduard