Re: [PATCH 5.10 0/6] Backporting for test_verifier failed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Add CC gregkh@xxxxxxxxxxxxxxxxxxx
I am not sure if the email address of <greg@xxxxxxxxx> is valid

On 2023/8/1 22:36, Pu Lehui wrote:
Luiz Capitulino reported the test_verifier test failed:
"precise: ST insn causing spi > allocated_stack".
And it was introduced by the following upstream commit:
ecdf985d7615 ("bpf: track immediate values written to stack by BPF_ST instruction")

Eduard's investigation [4] shows that test failure is not a bug, but a
difference in BPF verifier behavior between upstream, where commits
[1,2,3] by Andrii are present, and 5.10, where these commits are absent.

Backporting strategy is consistent with Eduard in kernel version 6.1 [5],
but with some conflicts in patch #1, #4 and #6 due to the bpf of 5.10
doesn't support more features. Both test_verifier and test_maps have
passed, while test_progs and test_progs-no_alu32 with no new failure
ceses.

Commits of Andrii:
[1] be2ef8161572 ("bpf: allow precision tracking for programs with subprogs")
[2] f63181b6ae79 ("bpf: stop setting precise in current state")
[3] 7a830b53c17b ("bpf: aggressively forget precise markings during state checkpointing")

Links:
[4] https://lore.kernel.org/stable/c9b10a8a551edafdfec855fbd35757c6238ad258.camel@xxxxxxxxx/
[5] https://lore.kernel.org/all/20230724124223.1176479-2-eddyz87@xxxxxxxxx/

Andrii Nakryiko (4):
   bpf: allow precision tracking for programs with subprogs
   bpf: stop setting precise in current state
   bpf: aggressively forget precise markings during state checkpointing
   selftests/bpf: make test_align selftest more robust

Ilya Leoshkevich (1):
   selftests/bpf: Fix sk_assign on s390x

Yonghong Song (1):
   selftests/bpf: Workaround verification failure for
     fexit_bpf2bpf/func_replace_return_code

  kernel/bpf/verifier.c                         | 175 ++++++++++++++++--
  .../testing/selftests/bpf/prog_tests/align.c  |  36 ++--
  .../selftests/bpf/prog_tests/sk_assign.c      |  25 ++-
  .../selftests/bpf/progs/connect4_prog.c       |   2 +-
  .../selftests/bpf/progs/test_sk_assign.c      |  11 ++
  .../bpf/progs/test_sk_assign_libbpf.c         |   3 +
  6 files changed, 219 insertions(+), 33 deletions(-)
  create mode 100644 tools/testing/selftests/bpf/progs/test_sk_assign_libbpf.c




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux