This series enables BPF programs to fetch sockets from SOCKMAP/SOCKHASH by doing a map lookup, as proposed during virtual BPF conference. Patch 1 description covers changes on verifier side needed to make it work. Fetched socket can be inspected or passed to helpers such as bpf_sk_assign, which is demonstrated by the test updated in patch 3. Thanks, Jakub Jakub Sitnicki (3): bpf: Allow bpf_map_lookup_elem for SOCKMAP and SOCKHASH selftests/bpf: Test that lookup on SOCKMAP/SOCKHASH is allowed selftests/bpf: Use SOCKMAP for server sockets in bpf_sk_assign test kernel/bpf/verifier.c | 45 +++++++--- net/core/filter.c | 4 + net/core/sock_map.c | 18 +++- tools/testing/selftests/bpf/Makefile | 2 +- .../selftests/bpf/prog_tests/sk_assign.c | 21 ++++- .../selftests/bpf/progs/test_sk_assign.c | 82 ++++++++----------- .../bpf/verifier/prevent_map_lookup.c | 30 ------- tools/testing/selftests/bpf/verifier/sock.c | 70 ++++++++++++++++ 8 files changed, 178 insertions(+), 94 deletions(-) -- 2.25.3