In this series we add the ability for sk msg programs to read basic sock information about the sock they are attached to. The second patch adds the tests to the selftest test_verifier.
One obseration that I had from writing this seriess is lots of the ./net/core/filter.c code is almost duplicated across program types. I thought about building a template/macro that we could use as a single block of code to read sock data out for multiple programs, but I wasn't convinced it was worth it yet. The result was using a macro saved a couple lines of code per block but made the code a bit harder to read IMO. We can probably revisit the idea later if we get more duplication. v2: add errstr field to negative test_verifier test cases to ensure we get the expected err string back from the verifier. --- John Fastabend (2): bpf: allow sk_msg programs to read sock fields bpf: add sk_msg prog sk access tests to test_verifier include/linux/filter.h | 1 include/uapi/linux/bpf.h | 8 ++ kernel/bpf/sockmap.c | 1 net/core/filter.c | 114 ++++++++++++++++++++++++++- tools/include/uapi/linux/bpf.h | 8 ++ tools/testing/selftests/bpf/test_verifier.c | 115 +++++++++++++++++++++++++++ 6 files changed, 244 insertions(+), 3 deletions(-) -- Signature