bpf: Check cfi_stubs before registering a struct_ops type.
authorKui-Feng Lee <thinker.li@gmail.com>
Thu, 22 Feb 2024 02:11:04 +0000 (18:11 -0800)
committerMartin KaFai Lau <martin.lau@kernel.org>
Thu, 22 Feb 2024 20:26:40 +0000 (12:26 -0800)
commit3e0008336ae3153fb89b1a15bb877ddd38680fe6
tree8c45e2221acca5756299cd79561305fa71569755
parent58fd62e0aa50fdd20bc41a01e787001f3af8a925
bpf: Check cfi_stubs before registering a struct_ops type.

Recently, st_ops->cfi_stubs was introduced. However, the upcoming new
struct_ops support (e.g. sched_ext) is not aware of this and does not
provide its own cfi_stubs. The kernel ends up NULL dereferencing the
st_ops->cfi_stubs.

Considering struct_ops supports kernel module now, this NULL check
is necessary. This patch is to reject struct_ops registration
that does not provide a cfi_stubs.

Signed-off-by: Kui-Feng Lee <thinker.li@gmail.com>
Link: https://lore.kernel.org/r/20240222021105.1180475-2-thinker.li@gmail.com
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
kernel/bpf/bpf_struct_ops.c