Hi David, The following pull-request contains BPF updates for your *net* tree.
The main changes are: 1) A bpf_fib_lookup() helper fix to change the API before freeze to return an encoding of the FIB lookup result and return the nexthop device index in the params struct (instead of device index as return code that we had before), from David. 2) Various BPF JIT fixes to address syzkaller fallout, that is, do not reject progs when set_memory_*() fails since it could still be RO. Also arm32 JIT was not using bpf_jit_binary_lock_ro() API which was an issue, and a memory leak in s390 JIT found during review, from Daniel. 3) Multiple fixes for sockmap/hash to address most of the syzkaller triggered bugs. Usage with IPv6 was crashing, a GPF in bpf_tcp_close(), a missing sock_map_release() routine to hook up to callbacks, and a fix for an omitted bucket lock in sock_close(), from John. 4) Two bpftool fixes to remove duplicated error message on program load, and another one to close the libbpf object after program load. One additional fix for nfp driver's BPF offload to avoid stopping offload completely if replace of program failed, from Jakub. 5) Couple of BPF selftest fixes that bail out in some of the test scripts if the user does not have the right privileges, from Jeffrin. 6) Fixes in test_bpf for s390 when CONFIG_BPF_JIT_ALWAYS_ON is set where we need to set the flag that some of the test cases are expected to fail, from Kleber. 7) Fix to detangle BPF_LIRC_MODE2 dependency from CONFIG_CGROUP_BPF since it has no relation to it and lirc2 users often have configs without cgroups enabled and thus would not be able to use it, from Sean. 8) Fix a selftest failure in sockmap by removing a useless setrlimit() call that would set a too low limit where at the same time we are already including bpf_rlimit.h that does the job, from Yonghong. 9) Fix BPF selftest config with missing missing NET_SCHED, from Anders. Please consider pulling these changes from: git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git Thanks a lot! ---------------------------------------------------------------- The following changes since commit 3739a21e0ef6ac06f46bd38e81daa95e8cb462bc: selftests: net: add tcp_inq to gitignore (2018-06-21 15:02:32 +0900) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git for you to fetch changes up to bf2b866a2fe2d74558fe4b7bdf63a4bc0afbdf70: Merge branch 'bpf-sockmap-fixes' (2018-07-01 01:21:33 +0200) ---------------------------------------------------------------- Alexei Starovoitov (1): Merge branch 'bpf-fixes' Anders Roxell (1): selftests: bpf: add missing NET_SCHED to config Daniel Borkmann (5): Merge branch 'bpf-bpftool-fixes' bpf, arm32: fix to use bpf_jit_binary_lock_ro api bpf, s390: fix potential memleak when later bpf_jit_prog fails bpf: undo prog rejection on read-only lock failure Merge branch 'bpf-sockmap-fixes' David Ahern (1): bpf: Change bpf_fib_lookup to return lookup status Jakub Kicinski (3): tools: bpftool: remove duplicated error message on prog load tools: bpftool: remember to close the libbpf object after prog load nfp: bpf: don't stop offload if replace failed Jeffrin Jose T (3): selftests: bpf: notification about privilege required to run test_kmod.sh testing script selftests: bpf: notification about privilege required to run test_lirc_mode2.sh testing script selftests: bpf: notification about privilege required to run test_lwt_seg6local.sh testing script John Fastabend (4): bpf: sockmap, fix crash when ipv6 sock is added bpf: sockmap, fix smap_list_map_remove when psock is in many maps bpf: sockhash fix omitted bucket lock in sock_close bpf: sockhash, add release routine Kleber Sacilotto de Souza (1): test_bpf: flag tests that cannot be jited on s390 Sean Young (1): bpf: fix attach type BPF_LIRC_MODE2 dependency wrt CONFIG_CGROUP_BPF Yonghong Song (1): tools/bpf: fix test_sockmap failure arch/arm/net/bpf_jit_32.c | 2 +- arch/s390/net/bpf_jit_comp.c | 1 + drivers/media/rc/bpf-lirc.c | 14 +- drivers/net/ethernet/netronome/nfp/bpf/main.c | 6 +- include/linux/bpf-cgroup.h | 26 +++ include/linux/bpf.h | 8 + include/linux/bpf_lirc.h | 5 +- include/linux/filter.h | 56 +---- include/uapi/linux/bpf.h | 28 ++- kernel/bpf/cgroup.c | 54 +++++ kernel/bpf/core.c | 30 +-- kernel/bpf/sockmap.c | 254 ++++++++++++++++------ kernel/bpf/syscall.c | 99 ++------- lib/test_bpf.c | 20 ++ net/core/filter.c | 86 +++++--- samples/bpf/xdp_fwd_kern.c | 8 +- tools/bpf/bpftool/prog.c | 12 +- tools/testing/selftests/bpf/config | 1 + tools/testing/selftests/bpf/test_kmod.sh | 9 + tools/testing/selftests/bpf/test_lirc_mode2.sh | 9 + tools/testing/selftests/bpf/test_lwt_seg6local.sh | 9 + tools/testing/selftests/bpf/test_sockmap.c | 6 - 22 files changed, 449 insertions(+), 294 deletions(-)