02 May, 2018

2 commits

  • commit ad343a98e74e85aa91d844310e797f96fee6983b upstream.

    Use a separate fd set for select()-s exception fds param to fix the
    following gcc warning:

    pager.c:36:12: error: passing argument 2 to restrict-qualified parameter aliases with argument 4 [-Werror=restrict]
    select(1, &in, NULL, &in, NULL);
    ^~~ ~~~

    Link: http://lkml.kernel.org/r/20180101105626.7168-1-sergey.senozhatsky@gmail.com
    Signed-off-by: Sergey Senozhatsky
    Cc: Arnaldo Carvalho de Melo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Cc: Fredrik Schön
    Signed-off-by: Greg Kroah-Hartman

    Sergey Senozhatsky
     
  • commit 854e55ad289ef8888e7991f0ada85d5846f5afb9 upstream.

    Starting with recent GCC 8 builds, objtool and perf fail to build with
    the following error:

    ../str_error_r.c: In function ‘str_error_r’:
    ../str_error_r.c:25:3: error: passing argument 1 to restrict-qualified parameter aliases with argument 5 [-Werror=restrict]
    snprintf(buf, buflen, "INTERNAL ERROR: strerror_r(%d, %p, %zd)=%d", errnum, buf, buflen, err);

    The code seems harmless, but there's probably no benefit in printing the
    'buf' pointer in this situation anyway, so just remove it to make GCC
    happy.

    Reported-by: Laura Abbott
    Signed-off-by: Josh Poimboeuf
    Tested-by: Laura Abbott
    Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/20180316031154.juk2uncs7baffctp@treble
    Signed-off-by: Arnaldo Carvalho de Melo
    Cc: Fredrik Schön
    Signed-off-by: Greg Kroah-Hartman

    Josh Poimboeuf
     

26 Apr, 2018

4 commits

  • [ Upstream commit e3d91b0ca523d53158f435a3e13df7f0cb360ea2 ]

    V3: More generic skipping of relo-section (suggested by Daniel)

    If clang >= 4.0.1 is missing the option '-target bpf', it will cause
    llc/llvm to create two ELF sections for "Exception Frames", with
    section names '.eh_frame' and '.rel.eh_frame'.

    The BPF ELF loader library libbpf fails when loading files with these
    sections. The other in-kernel BPF ELF loader in samples/bpf/bpf_load.c,
    handle this gracefully. And iproute2 loader also seems to work with these
    "eh" sections.

    The issue in libbpf is caused by bpf_object__elf_collect() skipping
    some sections, and later when performing relocation it will be
    pointing to a skipped section, as these sections cannot be found by
    bpf_object__find_prog_by_idx() in bpf_object__collect_reloc().

    This is a general issue that also occurs for other sections, like
    debug sections which are also skipped and can have relo section.

    As suggested by Daniel. To avoid keeping state about all skipped
    sections, instead perform a direct qlookup in the ELF object. Lookup
    the section that the relo-section points to and check if it contains
    executable machine instructions (denoted by the sh_flags
    SHF_EXECINSTR). Use this check to also skip irrelevant relo-sections.

    Note, for samples/bpf/ the '-target bpf' parameter to clang cannot be used
    due to incompatibility with asm embedded headers, that some of the samples
    include. This is explained in more details by Yonghong Song in bpf_devel_QA.

    Signed-off-by: Jesper Dangaard Brouer
    Signed-off-by: Daniel Borkmann
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Jesper Dangaard Brouer
     
  • [ Upstream commit d777f8de99b05d399c0e4e51cdce016f26bd971b ]

    If a field is a dynamic string, get_field_str() returned just the
    offset/size value and not the string. Have it parse the offset/size
    correctly to return the actual string. Otherwise filtering fails when
    trying to filter fields that are dynamic strings.

    Reported-by: Gopanapalli Pradeep
    Signed-off-by: Steven Rostedt
    Acked-by: Namhyung Kim
    Cc: Andrew Morton
    Link: http://lkml.kernel.org/r/20180112004823.146333275@goodmis.org
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Steven Rostedt (VMware)
     
  • [ Upstream commit 38d70b7ca1769f26c0b79f3c08ff2cc949712b59 ]

    When processing %pX in pretty_print(), simplify the logic slightly by
    incrementing the ptr to the format string if isalnum(ptr[1]) is true.
    This follows the logic a bit more closely to what is in the kernel.

    Also, this fixes a small bug where %pF was not giving the offset of the
    function.

    Signed-off-by: Steven Rostedt
    Acked-by: Namhyung Kim
    Cc: Andrew Morton
    Link: http://lkml.kernel.org/r/20180112004822.260262257@goodmis.org
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Steven Rostedt (VMware)
     
  • [ Upstream commit 7110d80d53f472956420cd05a6297f49b558b674 ]

    The third parameter to do_install was not used by $(INSTALL) command.
    Fix this by only setting the -m option when the third parameter is supplied.

    The use of a third parameter was introduced in commit eb54e522a000 ("bpf:
    install libbpf headers on 'make install'").

    Without this change, the header files are install as executables files (755).

    Fixes: eb54e522a000 ("bpf: install libbpf headers on 'make install'")
    Signed-off-by: Jesper Dangaard Brouer
    Signed-off-by: Daniel Borkmann
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Jesper Dangaard Brouer
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

13 Sep, 2017

1 commit

  • …linux/kernel/git/acme/linux into perf/urgent

    Pull perf/urgent fixes from Arnaldo Carvalho de Melo:

    - Fix TUI progress bar when delta from new total from that of the
    previous update is greater than the progress "step" (screen width
    progress bar block)) (Jiri Olsa)

    - Make tools/lib/api make DEBUG=1 build use -D_FORTIFY_SOURCE=2 not
    to cripple debuginfo, just like tools/perf/ does (Jiri Olsa)

    - Avoid leaking the 'perf.data' file to workloads started from the
    'perf record' command line by using the O_CLOEXEC open flag (Jiri Olsa)

    - Fix building when libunwind's 'unwind.h' file is present in the
    include path, clashing with tools/perf/util/unwind.h (Milian Wolff)

    - Check per .perfconfig section entry flag, not just per section (Taeung Song)

    - Support running perf binaries with a dash in their name, needed to
    run perf as an AppImage (Milian Wolff)

    - Wait for the right child by using waitpid() when running workloads
    from 'perf stat', also to fix using perf as an AppImage (Milian Wolff)

    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     

12 Sep, 2017

1 commit

  • Do not use -D_FORTIFY_SOURCE=2 for DEBUG build as it seems to mess up
    with debuginfo, which results in bad gdb experience.

    We already do that for tools/perf/.

    Signed-off-by: Jiri Olsa
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20170908084621.31595-1-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

07 Sep, 2017

1 commit

  • Pull networking updates from David Miller:

    1) Support ipv6 checksum offload in sunvnet driver, from Shannon
    Nelson.

    2) Move to RB-tree instead of custom AVL code in inetpeer, from Eric
    Dumazet.

    3) Allow generic XDP to work on virtual devices, from John Fastabend.

    4) Add bpf device maps and XDP_REDIRECT, which can be used to build
    arbitrary switching frameworks using XDP. From John Fastabend.

    5) Remove UFO offloads from the tree, gave us little other than bugs.

    6) Remove the IPSEC flow cache, from Florian Westphal.

    7) Support ipv6 route offload in mlxsw driver.

    8) Support VF representors in bnxt_en, from Sathya Perla.

    9) Add support for forward error correction modes to ethtool, from
    Vidya Sagar Ravipati.

    10) Add time filter for packet scheduler action dumping, from Jamal Hadi
    Salim.

    11) Extend the zerocopy sendmsg() used by virtio and tap to regular
    sockets via MSG_ZEROCOPY. From Willem de Bruijn.

    12) Significantly rework value tracking in the BPF verifier, from Edward
    Cree.

    13) Add new jump instructions to eBPF, from Daniel Borkmann.

    14) Rework rtnetlink plumbing so that operations can be run without
    taking the RTNL semaphore. From Florian Westphal.

    15) Support XDP in tap driver, from Jason Wang.

    16) Add 32-bit eBPF JIT for ARM, from Shubham Bansal.

    17) Add Huawei hinic ethernet driver.

    18) Allow to report MD5 keys in TCP inet_diag dumps, from Ivan
    Delalande.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1780 commits)
    i40e: point wb_desc at the nvm_wb_desc during i40e_read_nvm_aq
    i40e: avoid NVM acquire deadlock during NVM update
    drivers: net: xgene: Remove return statement from void function
    drivers: net: xgene: Configure tx/rx delay for ACPI
    drivers: net: xgene: Read tx/rx delay for ACPI
    rocker: fix kcalloc parameter order
    rds: Fix non-atomic operation on shared flag variable
    net: sched: don't use GFP_KERNEL under spin lock
    vhost_net: correctly check tx avail during rx busy polling
    net: mdio-mux: add mdio_mux parameter to mdio_mux_init()
    rxrpc: Make service connection lookup always check for retry
    net: stmmac: Delete dead code for MDIO registration
    gianfar: Fix Tx flow control deactivation
    cxgb4: Ignore MPS_TX_INT_CAUSE[Bubble] for T6
    cxgb4: Fix pause frame count in t4_get_port_stats
    cxgb4: fix memory leak
    tun: rename generic_xdp to skb_xdp
    tun: reserve extra headroom only when XDP is set
    net: dsa: bcm_sf2: Configure IMP port TC2QOS mapping
    net: dsa: bcm_sf2: Advertise number of egress queues
    ...

    Linus Torvalds
     

29 Aug, 2017

3 commits

  • Prior to this patch, make scripts tested for CLANG with ifeq ($(CC),
    clang), failing to detect CLANG binaries with different names. Fix it by
    testing for the existence of __clang__ macro in the list of compiler
    defined macros.

    Signed-off-by: David Carrillo-Cisneros
    Acked-by: Jiri Olsa
    Cc: Alexander Shishkin
    Cc: Paul Turner
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/20170827075442.108534-5-davidcc@google.com
    Signed-off-by: Arnaldo Carvalho de Melo

    David Carrillo-Cisneros
     
  • Use already defined values for CC, AR and LD when available.

    Signed-off-by: David Carrillo-Cisneros
    Acked-by: Jiri Olsa
    Cc: Alexander Shishkin
    Cc: Paul Turner
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/20170827075442.108534-4-davidcc@google.com
    Signed-off-by: Arnaldo Carvalho de Melo

    David Carrillo-Cisneros
     
  • In the initial sockmap API we provided strparser and verdict programs
    using a single attach command by extending the attach API with a the
    attach_bpf_fd2 field.

    However, if we add other programs in the future we will be adding a
    field for every new possible type, attach_bpf_fd(3,4,..). This
    seems a bit clumsy for an API. So lets push the programs using two
    new type fields.

    BPF_SK_SKB_STREAM_PARSER
    BPF_SK_SKB_STREAM_VERDICT

    This has the advantage of having a readable name and can easily be
    extended in the future.

    Updates to samples and sockmap included here also generalize tests
    slightly to support upcoming patch for multiple map support.

    Signed-off-by: John Fastabend
    Fixes: 174a79ff9515 ("bpf: sockmap with sk redirect support")
    Suggested-by: Alexei Starovoitov
    Acked-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    John Fastabend
     

24 Aug, 2017

1 commit


22 Aug, 2017

1 commit


21 Aug, 2017

1 commit


20 Aug, 2017

1 commit


18 Aug, 2017

1 commit

  • The Makefile verifies the same file exists twice:
    test -f ../../../include/uapi/linux/bpf.h -a \
    -f ../../../include/uapi/linux/bpf.h

    The purpose of the check is to ensure the diff (immediately after the
    test) doesn't fail with these two files:

    tools/include/uapi/linux/bpf.h
    include/uapi/linux/bpf.h

    Same recipe for bpf_common:
    test -f ../../../include/uapi/linux/bpf_common.h -a \
    -f ../../../include/uapi/linux/bpf_common.h

    This corrects the location of the tests.

    Signed-off-by: Daniel Díaz
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1502814810-960-1-git-send-email-daniel.diaz@linaro.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Daniel Díaz
     

17 Aug, 2017

2 commits

  • This generates a set of sockets, attaches BPF programs, and sends some
    simple traffic using basic send/recv pattern. Additionally, we do a bunch
    of negative tests to ensure adding/removing socks out of the sockmap fail
    correctly.

    Signed-off-by: John Fastabend
    Signed-off-by: David S. Miller

    John Fastabend
     
  • This program binds a program to a cgroup and then matches hard
    coded IP addresses and adds these to a sockmap.

    This will receive messages from the backend and send them to
    the client.

    client:X frontend:10000 client:X backend:10001

    To keep things simple this is only designed for 1:1 connections
    using hard coded values. A more complete example would allow many
    backends and clients.

    To run,

    # sockmap

    Signed-off-by: John Fastabend
    Signed-off-by: David S. Miller

    John Fastabend
     

10 Aug, 2017

3 commits

  • …nux/kernel/git/acme/linux into perf/core

    Pull perf/core improvements from Arnaldo Carvalho de Melo:

    User visible changes:

    - Beautifiers for the 'cmd' arg of several ioctl types, including:
    sound, DRM, KVM, vhost virtio and perf_events.

    This was done by using scripts that extract the information from
    the UAPI headers, generating string tables that are then used in
    the 'perf trace' syscall argument ioctl beautifier.

    More work needed to further use it, for instance, to use the
    _IOC_DIR value where it is used sanely to suppress the third
    argument, to set formatters for non-pointer values and ultimately
    for using eBPF + pahole-like code to collect + beautify structs in
    the third arg.

    Using the current scheme of having tools/ copies of kernel headers
    we'll make sure tooling stays working when changes are made to the
    kernel ABI headers and will be notified when they get changed,
    reducing the time for 'perf trace' to support new ABIs and allowing
    the tools/perf/ codebase to have the definitions it needs to
    build in dozens of distros/versions, as routinely tested using
    containers for, at this time, 47 environments. (Arnaldo Carvalho de Melo)

    Infrastructure changes:

    - Clarify header version warning message (Ingo Molnar)

    - Sync kernel ABI headers with tooling headers (Ingo Molnar, Arnaldo Carvalho de Melo)

    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • The UDP offload conflict is dealt with by simply taking what is
    in net-next where we have removed all of the UFO handling code
    entirely.

    The TCP conflict was a case of local variables in a function
    being removed from both net and net-next.

    In netvsc we had an assignment right next to where a missing
    set of u64 stats sync object inits were added.

    Signed-off-by: David S. Miller

    David S. Miller
     

05 Aug, 2017

1 commit

  • The BPF feature test as well as libbpf is missing the __NR_bpf
    define for s390 and currently refuses to compile (selftest suite
    depends on libbpf as well). Similar issue was fixed some time
    ago via b0c47807d31d ("bpf: Add sparc support to tools and
    samples."), just do the same and add definitions.

    Signed-off-by: Daniel Borkmann
    Signed-off-by: David S. Miller

    Daniel Borkmann
     

02 Aug, 2017

1 commit


31 Jul, 2017

1 commit

  • In this patch we changed the header checks:

    perf build: Clarify header version warning message

    Unfortunately the header checks were copied to various places and thus the message got
    out of sync. Fix some of them here.

    Note that there's still old, misleading messages remaining in:

    tools/objtool/Makefile: || echo "warning: objtool: x86 instruction decoder differs from kernel" >&2 )) || true
    tools/objtool/Makefile: || echo "warning: objtool: orc_types.h differs from kernel" >&2 )) || true

    here objtool copied the perf message, plus:

    tools/perf/util/intel-pt-decoder/Build: || echo "Warning: Intel PT: x86 instruction decoder differs from kernel" >&2 )) || true

    here the PT code regressed over the original message and only emits a vague warning
    instead of specific file names...

    All of this should be consolidated into tools/Build/ and used in a consistent
    manner.

    Signed-off-by: Ingo Molnar
    Cc: Adrian Hunter
    Cc: Alexander Shishkin
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: David Carrillo-Cisneros
    Cc: Francis Deslauriers
    Cc: Geneviève Bastien
    Cc: Jiri Olsa
    Cc: Julien Desfossez
    Cc: Martin Liška
    Cc: Mathieu Desnoyers
    Cc: Milian Wolff
    Cc: Namhyung Kim
    Cc: Paul Turner
    Cc: Peter Zijlstra
    Cc: Simon Que
    Cc: Stephane Eranian
    Cc: Taeung Song
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/20170730095130.bblldwxjz5hamybb@gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Ingo Molnar
     

30 Jul, 2017

1 commit


27 Jul, 2017

2 commits

  • The buffer passed to bpf_obj_get_info_by_fd() should be initialized
    to zeros. Kernel will enforce that to guarantee we can safely extend
    info structures in the future.

    Making the bpf_obj_get_info_by_fd() call in libbpf perform the zeroing
    is problematic, however, since some members of the info structures
    may need to be initialized by the callers (for instance pointers
    to buffers to which kernel is to dump translated and jited images).

    Remove the zeroing and fix up the in-tree callers before any kernel
    has been released with this code.

    As Daniel points out this seems to be the intended operation anyway,
    since commit 95b9afd3987f ("bpf: Test for bpf ID") is itself setting
    the buffer pointers before calling bpf_obj_get_info_by_fd().

    Signed-off-by: Jakub Kicinski
    Acked-by: Daniel Borkmann
    Signed-off-by: David S. Miller

    Jakub Kicinski
     
  • Add a new target to install the bpf.h header to $(prefix)/include/bpf/
    directory. This is necessary to build standalone applications using
    libbpf, without the need to clone the kernel sources and point to them.

    Signed-off-by: Jakub Kicinski
    Acked-by: Daniel Borkmann
    Signed-off-by: David S. Miller

    Jakub Kicinski
     

21 Jul, 2017

3 commits

  • For the test_verifier case, it's quite hard to parse log level 2 to
    figure out what's causing an issue when used to log level 1. We do
    want to use bpf_verify_program() in order to simulate some of the
    tests with strict alignment. So just add an argument to pass the level
    and put it to 1 for test_verifier.

    Signed-off-by: Daniel Borkmann
    Acked-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Daniel Borkmann
     
  • Getting support for "on", "off" introduced in a81a5a17d44b ("lib: add
    "on"/"off" support to kstrtobool") and making it check for NULL,
    introduced in ef951599074b ("lib: move strtobool() to kstrtobool()").

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Cc: Kees Cook
    Link: http://lkml.kernel.org/n/tip-mu8ghin4rklacmmubzwv8td7@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Replacing prefixcmp(), same purpose, inverted result, so standardize on
    the kernel variant, to reduce silly differences among tools/ and the
    kernel sources, making it easier for people to work in both codebases.

    And then doing:

    if (strstarts(option, "no-"))

    Looks clearer than doing:

    if (!prefixcmp(option, "no-"))

    To figure out if option starts witn "no-".

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Josh Poimboeuf
    Cc: Namhyung Kim
    Cc: Rusty Russell
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-kaei42gi7lpa8subwtv7eug8@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

06 Jul, 2017

1 commit

  • Pull networking updates from David Miller:
    "Reasonably busy this cycle, but perhaps not as busy as in the 4.12
    merge window:

    1) Several optimizations for UDP processing under high load from
    Paolo Abeni.

    2) Support pacing internally in TCP when using the sch_fq packet
    scheduler for this is not practical. From Eric Dumazet.

    3) Support mutliple filter chains per qdisc, from Jiri Pirko.

    4) Move to 1ms TCP timestamp clock, from Eric Dumazet.

    5) Add batch dequeueing to vhost_net, from Jason Wang.

    6) Flesh out more completely SCTP checksum offload support, from
    Davide Caratti.

    7) More plumbing of extended netlink ACKs, from David Ahern, Pablo
    Neira Ayuso, and Matthias Schiffer.

    8) Add devlink support to nfp driver, from Simon Horman.

    9) Add RTM_F_FIB_MATCH flag to RTM_GETROUTE queries, from Roopa
    Prabhu.

    10) Add stack depth tracking to BPF verifier and use this information
    in the various eBPF JITs. From Alexei Starovoitov.

    11) Support XDP on qed device VFs, from Yuval Mintz.

    12) Introduce BPF PROG ID for better introspection of installed BPF
    programs. From Martin KaFai Lau.

    13) Add bpf_set_hash helper for TC bpf programs, from Daniel Borkmann.

    14) For loads, allow narrower accesses in bpf verifier checking, from
    Yonghong Song.

    15) Support MIPS in the BPF selftests and samples infrastructure, the
    MIPS eBPF JIT will be merged in via the MIPS GIT tree. From David
    Daney.

    16) Support kernel based TLS, from Dave Watson and others.

    17) Remove completely DST garbage collection, from Wei Wang.

    18) Allow installing TCP MD5 rules using prefixes, from Ivan
    Delalande.

    19) Add XDP support to Intel i40e driver, from Björn Töpel

    20) Add support for TC flower offload in nfp driver, from Simon
    Horman, Pieter Jansen van Vuuren, Benjamin LaHaise, Jakub
    Kicinski, and Bert van Leeuwen.

    21) IPSEC offloading support in mlx5, from Ilan Tayari.

    22) Add HW PTP support to macb driver, from Rafal Ozieblo.

    23) Networking refcount_t conversions, From Elena Reshetova.

    24) Add sock_ops support to BPF, from Lawrence Brako. This is useful
    for tuning the TCP sockopt settings of a group of applications,
    currently via CGROUPs"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1899 commits)
    net: phy: dp83867: add workaround for incorrect RX_CTRL pin strap
    dt-bindings: phy: dp83867: provide a workaround for incorrect RX_CTRL pin strap
    cxgb4: Support for get_ts_info ethtool method
    cxgb4: Add PTP Hardware Clock (PHC) support
    cxgb4: time stamping interface for PTP
    nfp: default to chained metadata prepend format
    nfp: remove legacy MAC address lookup
    nfp: improve order of interfaces in breakout mode
    net: macb: remove extraneous return when MACB_EXT_DESC is defined
    bpf: add missing break in for the TCP_BPF_SNDCWND_CLAMP case
    bpf: fix return in load_bpf_file
    mpls: fix rtm policy in mpls_getroute
    net, ax25: convert ax25_cb.refcount from atomic_t to refcount_t
    net, ax25: convert ax25_route.refcount from atomic_t to refcount_t
    net, ax25: convert ax25_uid_assoc.refcount from atomic_t to refcount_t
    net, sctp: convert sctp_ep_common.refcnt from atomic_t to refcount_t
    net, sctp: convert sctp_transport.refcnt from atomic_t to refcount_t
    net, sctp: convert sctp_chunk.refcnt from atomic_t to refcount_t
    net, sctp: convert sctp_datamsg.refcnt from atomic_t to refcount_t
    net, sctp: convert sctp_auth_bytes.refcnt from atomic_t to refcount_t
    ...

    Linus Torvalds
     

04 Jul, 2017

1 commit

  • Pull perf updates from Ingo Molnar:
    "Most of the changes are for tooling, the main changes in this cycle were:

    - Improve Intel-PT hardware tracing support, both on the kernel and
    on the tooling side: PTWRITE instruction support, power events for
    C-state tracing, etc. (Adrian Hunter)

    - Add support to measure SMI cost to the x86 architecture, with
    tooling support in 'perf stat' (Kan Liang)

    - Support function filtering in 'perf ftrace', plus related
    improvements (Namhyung Kim)

    - Allow adding and removing fields to the default 'perf script'
    columns, using + or - as field prefixes to do so (Andi Kleen)

    - Allow resolving the DSO name with 'perf script -F brstack{sym,off},dso'
    (Mark Santaniello)

    - Add perf tooling unwind support for PowerPC (Paolo Bonzini)

    - ... and various other improvements as well"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (84 commits)
    perf auxtrace: Add CPU filter support
    perf intel-pt: Do not use TSC packets for calculating CPU cycles to TSC
    perf intel-pt: Update documentation to include new ptwrite and power events
    perf intel-pt: Add example script for power events and PTWRITE
    perf intel-pt: Synthesize new power and "ptwrite" events
    perf intel-pt: Move code in intel_pt_synth_events() to simplify attr setting
    perf intel-pt: Factor out intel_pt_set_event_name()
    perf intel-pt: Tidy messages into called function intel_pt_synth_event()
    perf intel-pt: Tidy Intel PT evsel lookup into separate function
    perf intel-pt: Join needlessly wrapped lines
    perf intel-pt: Remove unused instructions_sample_period
    perf intel-pt: Factor out common code synthesizing event samples
    perf script: Add synthesized Intel PT power and ptwrite events
    perf/x86/intel: Constify the 'lbr_desc[]' array and make a function static
    perf script: Add 'synth' field for synthesized event payloads
    perf auxtrace: Add itrace option to output power events
    perf auxtrace: Add itrace option to output ptwrite events
    tools include: Add byte-swapping macros to kernel.h
    perf script: Add 'synth' event type for synthesized events
    x86/insn: perf tools: Add new ptwrite instruction
    ...

    Linus Torvalds
     

21 Jun, 2017

1 commit

  • Add sysfs__write_int() to ease up writing int to sysfs. New interface
    is:

    int sysfs__write_int(const char *entry, int value);

    Also, introducing filename__write_int() which is useful for new helpers
    to write sysctl values.

    Signed-off-by: Kan Liang
    Acked-by: Jiri Olsa
    Cc: Andi Kleen
    Cc: Kan Liang
    Cc: Peter Zijlstra
    Cc: Robert Elliott
    Cc: Stephane Eranian
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1495825538-5230-2-git-send-email-kan.liang@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Kan Liang
     

07 Jun, 2017

1 commit

  • Add test to exercise the bpf_prog/map id generation,
    bpf_(prog|map)_get_next_id(), bpf_(prog|map)_get_fd_by_id() and
    bpf_get_obj_info_by_fd().

    Signed-off-by: Martin KaFai Lau
    Acked-by: Alexei Starovoitov
    Acked-by: Daniel Borkmann
    Signed-off-by: David S. Miller

    Martin KaFai Lau
     

05 Jun, 2017

4 commits