• Joe Stringer's avatar
    selftests/bpf: Add tests for reference tracking · b584ab88
    Joe Stringer authored
    reference tracking: leak potential reference
    reference tracking: leak potential reference on stack
    reference tracking: leak potential reference on stack 2
    reference tracking: zero potential reference
    reference tracking: copy and zero potential references
    reference tracking: release reference without check
    reference tracking: release reference
    reference tracking: release reference twice
    reference tracking: release reference twice inside branch
    reference tracking: alloc, check, free in one subbranch
    reference tracking: alloc, check, free in both subbranches
    reference tracking in call: free reference in subprog
    reference tracking in call: free reference in subprog and outside
    reference tracking in call: alloc & leak reference in subprog
    reference tracking in call: alloc in subprog, release outside
    reference tracking in call: sk_ptr leak into caller stack
    reference tracking in call: sk_ptr spill into caller stack
    reference tracking: allow LD_ABS
    reference tracking: forbid LD_ABS while holding reference
    reference tracking: allow LD_IND
    reference tracking: forbid LD_IND while holding reference
    reference tracking: check reference or tail call
    reference tracking: release reference then tail call
    reference tracking: leak possible reference over tail call
    reference tracking: leak checked reference over tail call
    reference tracking: mangle and release sock_or_null
    reference tracking: mangle and release sock
    reference tracking: access member
    reference tracking: write to member
    reference tracking: invalid 64-bit access of member
    reference tracking: access after release
    reference tracking: direct access for lookup
    unpriv: spill/fill of different pointers stx - ctx and sock
    unpriv: spill/fill of different pointers stx - leak sock
    unpriv: spill/fill of different pointers stx - sock and ctx (read)
    unpriv: spill/fill of different pointers stx - sock and ctx (write)
    Signed-off-by: default avatarJoe Stringer <joe@wand.net.nz>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    b584ab88
test_verifier.c 412 KB