2018-12-16 00:49 UTC+0100 ~ Daniel Borkmann <dan...@iogearbox.net>
Existing libraries and tracing frameworks work around this kernel
version check by automatically deriving the kernel version from
uname(3) or similar such that the user does not need to do it
manually; these workarounds also make the version check useless
at the same time.

Moreover, most other BPF tracing types enabling bpf_probe_read()-like
functionality have /not/ adapted this check, and in general these
days it is well understood anyway that all the tracing programs are
not stable with regards to future kernels as kernel internal data
structures are subject to change from release to release.

Back at last netconf we discussed [0] and agreed to remove this
check from bpf_prog_load() and instead document it here in the uapi
header that there is no such guarantee for stable API for these
programs.

   [0] http://vger.kernel.org/netconf2018_files/DanielBorkmann_netconf2018.pdf

Signed-off-by: Daniel Borkmann <dan...@iogearbox.net>
Acked-by: Alexei Starovoitov <a...@kernel.org>

For what it's worth,

Acked-by: Quentin Monnet <quentin.mon...@netronome.com>

Note: samples and selftests setting a kern_version can probably wait before being updated (if they get updated at all), but you might want to change now the remark in Documentation/bpf/bpf_design_QA.rst about kern_version being checked.

Reply via email to