• David S. Miller's avatar
    Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next · 454bfe97
    David S. Miller authored
    Daniel Borkmann says:
    
    ====================
    pull-request: bpf-next 2018-03-21
    
    The following pull-request contains BPF updates for your *net-next* tree.
    
    The main changes are:
    
    1) Add a BPF hook for sendmsg and sendfile by reusing the ULP infrastructure
       and sockmap. Three helpers are added along with this, bpf_msg_apply_bytes(),
       bpf_msg_cork_bytes(), and bpf_msg_pull_data(). The first is used to tell
       for how many bytes the verdict should be applied to, the second to tell
       that x bytes need to be queued first to retrigger the BPF program for a
       verdict, and the third helper is mainly for the sendfile case to pull in
       data for making it private for reading and/or writing, from John.
    
    2) Improve address to symbol resolution of user stack traces in BPF stackmap.
       Currently, the latter stores the address for each entry in the call trace,
       however to map these addresses to user space files, it is necessary to
       maintain the mapping from these virtual addresses to symbols in the binary
       which is not practical for system-wide profiling. Instead, this option for
       the stackmap rather stores the ELF build id and offset for the call trace
       entries, from Song.
    
    3) Add support that allows BPF programs attached to perf events to read the
       address values recorded with the perf events. They are requested through
       PERF_SAMPLE_ADDR via perf_event_open(). Main motivation behind it is to
       support building memory or lock access profiling and tracing tools with
       the help of BPF, from Teng.
    
    4) Several improvements to the tools/bpf/ Makefiles. The 'make bpf' in the
       tools directory does not provide the standard quiet output except for
       bpftool and it also does not respect specifying a build output directory.
       'make bpf_install' command neither respects specified destination nor
       prefix, all from Jiri. In addition, Jakub fixes several other minor issues
       in the Makefiles on top of that, e.g. fixing dependency paths, phony
       targets and more.
    
    5) Various doc updates e.g. add a comment for BPF fs about reserved names
       to make the dentry lookup from there a bit more obvious, and a comment
       to the bpf_devel_QA file in order to explain the diff between native
       and bpf target clang usage with regards to pointer size, from Quentin
       and Daniel.
    ====================
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    454bfe97
sock.c 84.5 KB