Have the xskmap version of bpf_map_lookup_elem() return
an XDP_SOCK type.  This can be used to verify the existence
of an entry, and then check the sock properties.

Further improvements would include passing the pointer 
directly to a helper for redirrection instead of referencing
the map again.

Jonathan Lemon (1):
  bpf: Allow bpf_map_lookup_elem() on an xskmap

 include/linux/bpf.h                           |  8 ++++
 include/net/xdp_sock.h                        |  4 +-
 include/uapi/linux/bpf.h                      |  4 ++
 kernel/bpf/verifier.c                         | 26 +++++++++++-
 kernel/bpf/xskmap.c                           |  7 ++++
 net/core/filter.c                             | 40 +++++++++++++++++++
 tools/include/uapi/linux/bpf.h                |  4 ++
 .../bpf/verifier/prevent_map_lookup.c         | 15 -------
 tools/testing/selftests/bpf/verifier/sock.c   | 18 +++++++++
 9 files changed, 107 insertions(+), 19 deletions(-)

-- 
2.17.1

Reply via email to