In the Linux kernel, the following vulnerability has been resolved: bpf: Fix wrong reg type conversion in releasereference() Some helper functions will allocate memory. To avoid memory leaks, the verifier requires the eBPF program to release these memories by calling the corresponding helper functions. When a resource is released, all pointer registers corresponding to the resource should be invalidated. The verifier use releasereferences() to do this job, by apply _markregunknown() to each relevant register. It will give these registers the type of SCALARVALUE. A register that will contain a pointer value at runtime, but of type SCALARVALUE, which may allow the unprivileged user to get a kernel pointer by storing this register into a map. Using _markregnotinit() while NOT allowptr_leaks can mitigate this problem.