The first patch is a simplification of register liveness tracking by using a separate parentage chain for each register and stack slot, thus avoiding the need for logic to handle callee-saved registers when applying read marks. In the future this idea may be extended to form use-def chains. The second patch adds information about misc/zero data on the stack to the state dumps emitted to the log at various points; this information was found essential in debugging the first patch, and may be useful elsewhere.
Edward Cree (2): bpf/verifier: per-register parent pointers bpf/verifier: display non-spill stack slot types in print_verifier_state include/linux/bpf_verifier.h | 8 +- kernel/bpf/verifier.c | 216 ++++++++++++++----------------------------- 2 files changed, 72 insertions(+), 152 deletions(-)