tools/bpf: selftests : Explain bpf_iter test failures with llvm 10.0.0
Commit 6879c042e1
("tools/bpf: selftests: Add bpf_iter selftests")
added self tests for bpf_iter feature. But two subtests
ipv6_route and netlink needs llvm latest 10.x release branch
or trunk due to a bug in llvm BPF backend. This patch added
the file README.rst to document these two failures
so people using llvm 10.0.0 can be aware of them.
Suggested-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20200513180215.2949237-1-yhs@fb.com
This commit is contained in:
parent
0aa0372f92
commit
99aaf53e2f
|
@ -0,0 +1,43 @@
|
||||||
|
==================
|
||||||
|
BPF Selftest Notes
|
||||||
|
==================
|
||||||
|
|
||||||
|
Additional information about selftest failures are
|
||||||
|
documented here.
|
||||||
|
|
||||||
|
bpf_iter test failures with clang/llvm 10.0.0
|
||||||
|
=============================================
|
||||||
|
|
||||||
|
With clang/llvm 10.0.0, the following two bpf_iter tests failed:
|
||||||
|
* ``bpf_iter/ipv6_route``
|
||||||
|
* ``bpf_iter/netlink``
|
||||||
|
|
||||||
|
The symptom for ``bpf_iter/ipv6_route`` looks like
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
|
2: (79) r8 = *(u64 *)(r1 +8)
|
||||||
|
...
|
||||||
|
14: (bf) r2 = r8
|
||||||
|
15: (0f) r2 += r1
|
||||||
|
; BPF_SEQ_PRINTF(seq, "%pi6 %02x ", &rt->fib6_dst.addr, rt->fib6_dst.plen);
|
||||||
|
16: (7b) *(u64 *)(r8 +64) = r2
|
||||||
|
only read is supported
|
||||||
|
|
||||||
|
The symptom for ``bpf_iter/netlink`` looks like
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
|
; struct netlink_sock *nlk = ctx->sk;
|
||||||
|
2: (79) r7 = *(u64 *)(r1 +8)
|
||||||
|
...
|
||||||
|
15: (bf) r2 = r7
|
||||||
|
16: (0f) r2 += r1
|
||||||
|
; BPF_SEQ_PRINTF(seq, "%pK %-3d ", s, s->sk_protocol);
|
||||||
|
17: (7b) *(u64 *)(r7 +0) = r2
|
||||||
|
only read is supported
|
||||||
|
|
||||||
|
This is due to a llvm BPF backend bug. The fix
|
||||||
|
https://reviews.llvm.org/D78466
|
||||||
|
has been pushed to llvm 10.x release branch and will be
|
||||||
|
available in 10.0.1. The fix is available in llvm 11.0.0 trunk.
|
Loading…
Reference in New Issue