From: Alexei Starovoitov <ast@kernel.org>
To: <davem@davemloft.net>
Cc: <daniel@iogearbox.net>, <netdev@vger.kernel.org>,
<bpf@vger.kernel.org>, <kernel-team@fb.com>
Subject: pull-request: bpf-next 2020-05-01
Date: Fri, 1 May 2020 15:44:07 -0700 [thread overview]
Message-ID: <20200501224407.3903683-1-ast@kernel.org> (raw)
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
reply other threads:[~2020-05-02 10:51 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200501224407.3903683-1-ast@kernel.org \
--to=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=kernel-team@fb.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.