Skip to content

Commit 5bdca94

Browse files
iamkafaiAlexei Starovoitov
authored andcommitted
bpf: Update bpf_design_QA.rst to clarify the kfunc call is not ABI
This patch updates bpf_design_QA.rst to clarify that the kernel function callable by bpf program is not an ABI. Signed-off-by: Martin KaFai Lau <kafai@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Song Liu <songliubraving@fb.com> Link: https://lore.kernel.org/bpf/20210330054150.2933542-1-kafai@fb.com
1 parent 7aae231 commit 5bdca94

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

Documentation/bpf/bpf_design_QA.rst

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,3 +258,18 @@ Q: Can BPF functionality such as new program or map types, new
258258
helpers, etc be added out of kernel module code?
259259

260260
A: NO.
261+
262+
Q: Directly calling kernel function is an ABI?
263+
----------------------------------------------
264+
Q: Some kernel functions (e.g. tcp_slow_start) can be called
265+
by BPF programs. Do these kernel functions become an ABI?
266+
267+
A: NO.
268+
269+
The kernel function protos will change and the bpf programs will be
270+
rejected by the verifier. Also, for example, some of the bpf-callable
271+
kernel functions have already been used by other kernel tcp
272+
cc (congestion-control) implementations. If any of these kernel
273+
functions has changed, both the in-tree and out-of-tree kernel tcp cc
274+
implementations have to be changed. The same goes for the bpf
275+
programs and they have to be adjusted accordingly.

0 commit comments

Comments
 (0)