On 4/29/20 8:11 PM, Jakub Sitnicki wrote:
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(-)


Applied, thanks!

Reply via email to