In the Linux kernel, the following vulnerability has been resolved:
bpf: mark bpfdummystructops.test1 parameter as nullable
Test case dummystops/dummyinitretvalue passes NULL as the first parameter of the test1() function. Mark this parameter as nullable to make verifier aware of such possibility. Otherwise, NULL check in the test_1() code:
SEC("struct_ops/test_1")
int BPF_PROG(test_1, struct bpf_dummy_ops_state *state)
{
if (!state)
return ...;
... access state ...
}
Might be removed by verifier, thus triggering NULL pointer dereference under certain conditions.