aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/bpf/README.rst
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2020-05-14 20:31:21 -0700
committerDavid S. Miller <davem@davemloft.net>2020-05-14 20:31:21 -0700
commitd00f26b623333f2419f4c3b95ff11c8b1bb96f56 (patch)
treefa1ae8e845b1b788168ecbba8bcec77633f4f683 /tools/testing/selftests/bpf/README.rst
parent9b65d2ffe853e4cf81585eaf60ce00237b277dc0 (diff)
parentb92d44b5c2efe70dbe7fc44fdd2ad46f8612418a (diff)
downloadkernel_replicant_linux-d00f26b623333f2419f4c3b95ff11c8b1bb96f56.tar.gz
kernel_replicant_linux-d00f26b623333f2419f4c3b95ff11c8b1bb96f56.tar.bz2
kernel_replicant_linux-d00f26b623333f2419f4c3b95ff11c8b1bb96f56.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next
Alexei Starovoitov says: ==================== pull-request: bpf-next 2020-05-14 The following pull-request contains BPF updates for your *net-next* tree. The main changes are: 1) Merged tag 'perf-for-bpf-2020-05-06' from tip tree that includes CAP_PERFMON. 2) support for narrow loads in bpf_sock_addr progs and additional helpers in cg-skb progs, from Andrey. 3) bpf benchmark runner, from Andrii. 4) arm and riscv JIT optimizations, from Luke. 5) bpf iterator infrastructure, from Yonghong. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/testing/selftests/bpf/README.rst')
-rw-r--r--tools/testing/selftests/bpf/README.rst43
1 files changed, 43 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/README.rst b/tools/testing/selftests/bpf/README.rst
new file mode 100644
index 000000000000..0f67f1b470b0
--- /dev/null
+++ b/tools/testing/selftests/bpf/README.rst
@@ -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.