• David S. Miller's avatar
    Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next · 5b7fe93d
    David S. Miller authored
    Daniel Borkmann says:
    
    ====================
    pull-request: bpf-next 2019-10-27
    
    The following pull-request contains BPF updates for your *net-next* tree.
    
    We've added 52 non-merge commits during the last 11 day(s) which contain
    a total of 65 files changed, 2604 insertions(+), 1100 deletions(-).
    
    The main changes are:
    
     1) Revolutionize BPF tracing by using in-kernel BTF to type check BPF
        assembly code. The work here teaches BPF verifier to recognize
        kfree_skb()'s first argument as 'struct sk_buff *' in tracepoints
        such that verifier allows direct use of bpf_skb_event_output() helper
        used in tc BPF et al (w/o probing memory access) that dumps skb data
        into perf ring buffer. Also add direct loads to probe memory in order
        to speed up/replace bpf_probe_read() calls, from Alexei Starovoitov.
    
     2) Big batch of changes to improve libbpf and BPF kselftests. Besides
        others: generalization of libbpf's CO-RE relocation support to now
        also include field existence relocations, revamp the BPF kselftest
        Makefile to add test runner concept allowing to exercise various
        ways to build BPF programs, and teach bpf_object__open() and friends
        to automatically derive BPF program type/expected attach type from
        section names to ease their use, from Andrii Nakryiko.
    
     3) Fix deadlock in stackmap's build-id lookup on rq_lock(), from Song Liu.
    
     4) Allow to read BTF as raw data from bpftool. Most notable use case
        is to dump /sys/kernel/btf/vmlinux through this, from Jiri Olsa.
    
     5) Use bpf_redirect_map() helper in libbpf's AF_XDP helper prog which
        manages to improve "rx_drop" performance by ~4%., from Björn Töpel.
    
     6) Fix to restore the flow dissector after reattach BPF test and also
        fix error handling in bpf_helper_defs.h generation, from Jakub Sitnicki.
    
     7) Improve verifier's BTF ctx access for use outside of raw_tp, from
        Martin KaFai Lau.
    
     8) Improve documentation for AF_XDP with new sections and to reflect
        latest features, from Magnus Karlsson.
    
     9) Add back 'version' section parsing to libbpf for old kernels, from
        John Fastabend.
    
    10) Fix strncat bounds error in libbpf's libbpf_prog_type_by_name(),
        from KP Singh.
    
    11) Turn on -mattr=+alu32 in LLVM by default for BPF kselftests in order
        to improve insn coverage for built BPF progs, from Yonghong Song.
    
    12) Misc minor cleanups and fixes, from various others.
    ====================
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5b7fe93d
xsk.c 16.2 KB