[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20200501224407.3903683-1-ast@kernel.org>
Date: Fri, 1 May 2020 15:44:07 -0700
From: Alexei Starovoitov <ast@...nel.org>
To: <davem@...emloft.net>
CC: <daniel@...earbox.net>, <netdev@...r.kernel.org>,
<bpf@...r.kernel.org>, <kernel-team@...com>
Subject: pull-request: bpf-next 2020-05-01
Hi David,
The following pull-request contains BPF updates for your *net-next* tree.
We've added 60 non-merge commits during the last 6 day(s) which contain
a total of 154 files changed, 6740 insertions(+), 3367 deletions(-).
The main changes are:
1) pulled work.sysctl from vfs tree with sysctl bpf changes.
2) bpf_link observability, from Andrii.
3) BTF-defined map in map, from Andrii.
4) asan fixes for selftests, from Andrii.
5) Allow bpf_map_lookup_elem for SOCKMAP and SOCKHASH, from Jakub.
6) production cloudflare classifier as a selftes, from Lorenz.
7) bpf_ktime_get_*_ns() helper improvements, from Maciej.
8) unprivileged bpftool feature probe, from Quentin.
9) BPF_ENABLE_STATS command, from Song.
10) enable bpf_[gs]etsockopt() helpers for sock_ops progs, from Stanislav.
11) enable a bunch of common helpers for cg-device, sysctl, sockopt progs,
from Stanislav.
Please consider pulling these changes from:
git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git
Thanks a lot!
Also thanks to reporters, reviewers and testers of commits in this pull-request:
Alston Tang, Andrey Ignatov, Andrii Nakryiko, David Rientjes, Hulk
Robot, John Fastabend, Magnus Karlsson, Martin KaFai Lau, Quentin
Monnet, Song Liu, Toke Høiland-Jørgensen, Xi Wang
----------------------------------------------------------------
The following changes since commit 3fd8dc269ff0647819589c21b2ce60af6fc0a455:
net: hns3: remove an unnecessary check in hclge_set_umv_space() (2020-04-25 20:56:45 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git
for you to fetch changes up to 138c67677ff5ac0bce7131033c39d52a81e87a60:
bpf: Fix use-after-free of bpf_link when priming half-fails (2020-05-01 15:13:05 -0700)
----------------------------------------------------------------
Alexei Starovoitov (6):
Merge branch 'cloudflare-prog'
selftests/bpf: fix test_sysctl_prog with alu32
Merge branch 'bpf_link-observability'
Merge branch 'BTF-map-in-map'
Merge branch 'test_progs-asan'
Merge branch 'bpf_enable_stats'
Andrii Nakryiko (27):
bpf: Make verifier log more relevant by default
bpf: Refactor bpf_link update handling
bpf: Allocate ID for bpf_link
bpf: Support GET_FD_BY_ID and GET_NEXT_ID for bpf_link
bpf: Add support for BPF_OBJ_GET_INFO_BY_FD for bpf_link
libbpf: Add low-level APIs for new bpf_link commands
selftests/bpf: Test bpf_link's get_next_id, get_fd_by_id, and get_obj_info
bpftool: Expose attach_type-to-string array to non-cgroup code
bpftool: Add bpf_link show and pin support
bpftool: Add bpftool-link manpage
bpftool: Add link bash completions
libbpf: Refactor BTF-defined map definition parsing logic
libbpf: Refactor map creation logic and fix cleanup leak
libbpf: Add BTF-defined map-in-map support
selftests/bpf: Ensure test flavors use correct skeletons
selftests/bpf: Add SAN_CFLAGS param to selftests build to allow sanitizers
selftests/bpf: Convert test_hashmap into test_progs test
libbpf: Fix memory leak and possible double-free in hashmap__clear
selftests/bpf: Fix memory leak in test selector
selftests/bpf: Fix memory leak in extract_build_id()
selftests/bpf: Fix invalid memory reads in core_relo selftest
libbpf: Fix huge memory leak in libbpf_find_vmlinux_btf_id()
selftests/bpf: Disable ASAN instrumentation for mmap()'ed memory read
selftests/bpf: Fix bpf_link leak in ns_current_pid_tgid selftest
selftests/bpf: Add runqslower binary to .gitignore
libbpf: Fix false uninitialized variable warning
bpf: Fix use-after-free of bpf_link when priming half-fails
Arnd Bergmann (1):
bpf: Fix unused variable warning
Christoph Hellwig (5):
mm: remove watermark_boost_factor_sysctl_handler
sysctl: remove all extern declaration from sysctl.c
sysctl: avoid forward declarations
sysctl: pass kernel pointers to ->proc_handler
bpf, cgroup: Remove unused exports
Daniel Borkmann (1):
Merge branch 'work.sysctl' of ssh://gitolite.kernel.org/.../viro/vfs
Jagadeesh Pagadala (1):
tools/bpf/bpftool: Remove duplicate headers
Jakub Sitnicki (4):
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
selftests/bpf: Test allowed maps for bpf_sk_select_reuseport
Lorenz Bauer (1):
selftests/bpf: Add cls_redirect classifier
Lorenzo Colitti (1):
net: bpf: Allow TC programs to call BPF_FUNC_skb_change_head
Luke Nelson (2):
bpf, riscv: Fix tail call count off by one in RV32 BPF JIT
bpf, riscv: Fix stack layout of JITed code on RV32
Maciej Żenczykowski (2):
net: bpf: Make bpf_ktime_get_ns() available to non GPL programs
bpf: add bpf_ktime_get_boot_ns()
Mao Wenan (2):
bpf: Remove set but not used variable 'dst_known'
libbpf: Return err if bpf_object__load failed
Quentin Monnet (3):
tools: bpftool: For "feature probe" define "full_mode" bool as global
tools: bpftool: Allow unprivileged users to probe features
tools: bpftool: Make libcap dependency optional
Song Liu (3):
bpf: Sharing bpf runtime stats with BPF_ENABLE_STATS
libbpf: Add support for command BPF_ENABLE_STATS
bpf: Add selftest for BPF_ENABLE_STATS
Stanislav Fomichev (3):
bpf: Enable more helpers for BPF_PROG_TYPE_CGROUP_{DEVICE,SYSCTL,SOCKOPT}
bpf: Fix missing bpf_base_func_proto in cgroup_base_func_proto for CGROUP_NET=n
bpf: Bpf_{g,s}etsockopt for struct bpf_sock_addr
Tobias Klauser (1):
xsk: Fix typo in xsk_umem_consume_tx and xsk_generic_xmit comments
Veronika Kabatova (1):
selftests/bpf: Copy runqslower to OUTPUT directory
Yoshiki Komachi (1):
bpf_helpers.h: Add note for building with vmlinux.h or linux/types.h
Zou Wei (1):
libbpf: Remove unneeded semicolon in btf_dump_emit_type
arch/arm64/kernel/armv8_deprecated.c | 2 +-
arch/arm64/kernel/fpsimd.c | 3 +-
arch/mips/lasat/sysctl.c | 13 +-
arch/riscv/net/bpf_jit_comp32.c | 103 +-
arch/s390/appldata/appldata_base.c | 11 +-
arch/s390/kernel/debug.c | 2 +-
arch/s390/kernel/topology.c | 2 +-
arch/s390/mm/cmm.c | 12 +-
arch/x86/kernel/itmt.c | 3 +-
drivers/cdrom/cdrom.c | 2 +-
drivers/char/random.c | 2 +-
drivers/macintosh/mac_hid.c | 3 +-
drivers/media/rc/bpf-lirc.c | 2 +
drivers/parport/procfs.c | 39 +-
fs/dcache.c | 2 +-
fs/drop_caches.c | 2 +-
fs/file_table.c | 4 +-
fs/fscache/main.c | 3 +-
fs/inode.c | 2 +-
fs/proc/proc_sysctl.c | 47 +-
fs/quota/dquot.c | 2 +-
fs/xfs/xfs_sysctl.c | 4 +-
include/linux/bpf-cgroup.h | 23 +-
include/linux/bpf.h | 37 +-
include/linux/bpf_types.h | 6 +
include/linux/compaction.h | 2 +-
include/linux/coredump.h | 4 +
include/linux/file.h | 2 +
include/linux/filter.h | 2 -
include/linux/fs.h | 6 +-
include/linux/ftrace.h | 3 +-
include/linux/hugetlb.h | 15 +-
include/linux/kprobes.h | 2 +-
include/linux/latencytop.h | 4 +-
include/linux/mm.h | 14 +-
include/linux/mmzone.h | 27 +-
include/linux/nmi.h | 15 +-
include/linux/perf_event.h | 13 +-
include/linux/pid.h | 3 +
include/linux/printk.h | 2 +-
include/linux/sched/sysctl.h | 44 +-
include/linux/security.h | 2 +-
include/linux/sysctl.h | 61 +-
include/linux/timer.h | 3 +-
include/linux/vmstat.h | 8 +-
include/linux/writeback.h | 28 +-
include/uapi/linux/bpf.h | 69 +-
ipc/ipc_sysctl.c | 10 +-
ipc/mq_sysctl.c | 4 +-
kernel/bpf/btf.c | 2 +
kernel/bpf/cgroup.c | 146 +-
kernel/bpf/core.c | 6 +
kernel/bpf/helpers.c | 89 +-
kernel/bpf/syscall.c | 410 ++-
kernel/bpf/verifier.c | 80 +-
kernel/cgroup/cgroup.c | 27 -
kernel/events/callchain.c | 2 +-
kernel/events/core.c | 6 +-
kernel/kprobes.c | 2 +-
kernel/latencytop.c | 4 +-
kernel/pid_namespace.c | 2 +-
kernel/printk/printk.c | 2 +-
kernel/sched/core.c | 9 +-
kernel/sched/fair.c | 3 +-
kernel/sched/rt.c | 10 +-
kernel/sched/topology.c | 2 +-
kernel/seccomp.c | 2 +-
kernel/sysctl.c | 3871 ++++++++++----------
kernel/time/timer.c | 3 +-
kernel/trace/bpf_trace.c | 2 +
kernel/trace/trace.c | 2 +-
kernel/umh.c | 2 +-
kernel/utsname_sysctl.c | 2 +-
kernel/watchdog.c | 12 +-
mm/compaction.c | 2 +-
mm/hugetlb.c | 9 +-
mm/page-writeback.c | 16 +-
mm/page_alloc.c | 42 +-
mm/util.c | 10 +-
mm/vmstat.c | 4 +-
net/bridge/br_netfilter_hooks.c | 2 +-
net/core/filter.c | 200 +-
net/core/neighbour.c | 28 +-
net/core/sock_map.c | 18 +-
net/core/sysctl_net_core.c | 27 +-
net/decnet/dn_dev.c | 7 +-
net/decnet/sysctl_net_decnet.c | 27 +-
net/ipv4/devinet.c | 9 +-
net/ipv4/route.c | 3 +-
net/ipv4/sysctl_net_ipv4.c | 38 +-
net/ipv6/addrconf.c | 33 +-
net/ipv6/ndisc.c | 3 +-
net/ipv6/route.c | 5 +-
net/ipv6/sysctl_net_ipv6.c | 3 +-
net/mpls/af_mpls.c | 5 +-
net/netfilter/ipvs/ip_vs_ctl.c | 6 +-
net/netfilter/nf_conntrack_standalone.c | 2 +-
net/netfilter/nf_log.c | 2 +-
net/phonet/sysctl.c | 3 +-
net/rds/tcp.c | 6 +-
net/sctp/sysctl.c | 32 +-
net/sunrpc/sysctl.c | 29 +-
net/sunrpc/xprtrdma/svc_rdma.c | 7 +-
net/xdp/xsk.c | 4 +-
security/apparmor/lsm.c | 2 +-
security/min_addr.c | 2 +-
security/yama/yama_lsm.c | 2 +-
.../bpf/bpftool/Documentation/bpftool-feature.rst | 12 +-
tools/bpf/bpftool/Documentation/bpftool-link.rst | 118 +
tools/bpf/bpftool/Makefile | 13 +-
tools/bpf/bpftool/bash-completion/bpftool | 41 +-
tools/bpf/bpftool/btf.c | 1 -
tools/bpf/bpftool/cgroup.c | 48 +-
tools/bpf/bpftool/common.c | 2 +
tools/bpf/bpftool/feature.c | 143 +-
tools/bpf/bpftool/gen.c | 1 -
tools/bpf/bpftool/jit_disasm.c | 1 -
tools/bpf/bpftool/link.c | 333 ++
tools/bpf/bpftool/main.c | 6 +-
tools/bpf/bpftool/main.h | 37 +
tools/include/uapi/linux/bpf.h | 69 +-
tools/lib/bpf/bpf.c | 29 +-
tools/lib/bpf/bpf.h | 5 +-
tools/lib/bpf/bpf_helpers.h | 7 +
tools/lib/bpf/btf_dump.c | 2 +-
tools/lib/bpf/hashmap.c | 7 +
tools/lib/bpf/libbpf.c | 705 ++--
tools/lib/bpf/libbpf.map | 7 +
tools/testing/selftests/bpf/.gitignore | 4 +-
tools/testing/selftests/bpf/Makefile | 16 +-
tools/testing/selftests/bpf/config | 1 +
.../testing/selftests/bpf/prog_tests/bpf_obj_id.c | 110 +-
.../selftests/bpf/prog_tests/btf_map_in_map.c | 49 +
.../selftests/bpf/prog_tests/cls_redirect.c | 456 +++
.../testing/selftests/bpf/prog_tests/core_reloc.c | 2 +-
.../selftests/bpf/prog_tests/enable_stats.c | 45 +
.../bpf/{test_hashmap.c => prog_tests/hashmap.c} | 280 +-
.../selftests/bpf/prog_tests/ns_current_pid_tgid.c | 5 +-
.../testing/selftests/bpf/prog_tests/perf_buffer.c | 5 +
tools/testing/selftests/bpf/prog_tests/sk_assign.c | 21 +-
tools/testing/selftests/bpf/progs/connect4_prog.c | 46 +
.../selftests/bpf/progs/test_btf_map_in_map.c | 76 +
.../selftests/bpf/progs/test_cls_redirect.c | 1058 ++++++
.../selftests/bpf/progs/test_cls_redirect.h | 54 +
.../selftests/bpf/progs/test_enable_stats.c | 18 +
tools/testing/selftests/bpf/progs/test_obj_id.c | 14 +-
tools/testing/selftests/bpf/progs/test_sk_assign.c | 82 +-
.../testing/selftests/bpf/progs/test_sysctl_prog.c | 2 +-
tools/testing/selftests/bpf/test_progs.c | 21 +-
tools/testing/selftests/bpf/test_progs.h | 7 +
tools/testing/selftests/bpf/test_verifier.c | 19 +-
.../testing/selftests/bpf/verifier/event_output.c | 24 +
.../selftests/bpf/verifier/prevent_map_lookup.c | 30 -
tools/testing/selftests/bpf/verifier/sock.c | 115 +
154 files changed, 6740 insertions(+), 3367 deletions(-)
create mode 100644 tools/bpf/bpftool/Documentation/bpftool-link.rst
create mode 100644 tools/bpf/bpftool/link.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/btf_map_in_map.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/cls_redirect.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/enable_stats.c
rename tools/testing/selftests/bpf/{test_hashmap.c => prog_tests/hashmap.c} (53%)
create mode 100644 tools/testing/selftests/bpf/progs/test_btf_map_in_map.c
create mode 100644 tools/testing/selftests/bpf/progs/test_cls_redirect.c
create mode 100644 tools/testing/selftests/bpf/progs/test_cls_redirect.h
create mode 100644 tools/testing/selftests/bpf/progs/test_enable_stats.c
Powered by blists - more mailing lists