28 Feb, 2018

1 commit


23 Feb, 2018

1 commit

  • samples/seccomp relies on the host setting which is not suitable for
    crosscompilation and it actually fails when crosscompiling s390 and
    powerpc all{yes,mod}config on x86_64 with

    samples/seccomp/bpf-helper.h:135:2: error: #error __BITS_PER_LONG value unusable.
    #error __BITS_PER_LONG value unusable.
    ^
    In file included from samples/seccomp/bpf-fancy.c:13:0:
    samples/seccomp/bpf-fancy.c: In function ‘main’:
    samples/seccomp/bpf-fancy.c:38:11: error: ‘__NR_exit’ undeclared (first use in this function)
    SYSCALL(__NR_exit, ALLOW),

    and many others. I am doing these for compile testing and it's been
    quite useful to catch issues. Crosscompiling sample code on the other
    hand doesn't seem all that important so it seems like the easiest way to
    simply disable samples/seccomp when crosscompiling.

    Fixing this properly is not that easy as Kees explains:
    : IIRC, one of the problems is with build ordering problems: the kernel
    : headers used by the samples aren't available when cross compiling.

    Signed-off-by: Michal Hocko
    Signed-off-by: Kees Cook

    Michal Hocko
     

07 Feb, 2018

1 commit

  • The commit c69de58ba84f ("net: erspan: use bitfield instead of
    mask and offset") changes the erspan header to use bitfield, and
    commit d350a823020e ("net: erspan: create erspan metadata uapi header")
    creates a uapi header file. The above two commit breaks the current
    erspan test. This patch fixes it by adapting the above two changes.

    Fixes: ac80c2a165af ("samples/bpf: add erspan v2 sample code")
    Fixes: ef88f89c830f ("samples/bpf: extend test_tunnel_bpf.sh with ERSPAN")
    Signed-off-by: William Tu
    Signed-off-by: David S. Miller

    William Tu
     

05 Feb, 2018

1 commit


03 Feb, 2018

2 commits

  • Use bpf_set_link_xdp_fd instead of set_link_xdp_fd to remove some
    code duplication and benefit of netlink ext ack errors message.

    Signed-off-by: Eric Leblond
    Signed-off-by: Alexei Starovoitov

    Eric Leblond
     
  • Parse netlink ext attribute to get the error message returned by
    the card. Code is partially take from libnl.

    We add netlink.h to the uapi include of tools. And we need to
    avoid include of userspace netlink header to have a successful
    build of sample so nlattr.h has a define to avoid
    the inclusion. Using a direct define could have been an issue
    as NLMSGERR_ATTR_MAX can change in the future.

    We also define SOL_NETLINK if not defined to avoid to have to
    copy socket.h for a fixed value.

    Signed-off-by: Eric Leblond
    Acked-by: Alexei Starovoitov
    Signed-off-by: Alexei Starovoitov

    Eric Leblond
     

02 Feb, 2018

1 commit

  • Pull driver core updates from Greg KH:
    "Here is the set of "big" driver core patches for 4.16-rc1.

    The majority of the work here is in the firmware subsystem, with
    reworks to try to attempt to make the code easier to handle in the
    long run, but no functional change. There's also some tree-wide sysfs
    attribute fixups with lots of acks from the various subsystem
    maintainers, as well as a handful of other normal fixes and changes.

    And finally, some license cleanups for the driver core and sysfs code.

    All have been in linux-next for a while with no reported issues"

    * tag 'driver-core-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (48 commits)
    device property: Define type of PROPERTY_ENRTY_*() macros
    device property: Reuse property_entry_free_data()
    device property: Move property_entry_free_data() upper
    firmware: Fix up docs referring to FIRMWARE_IN_KERNEL
    firmware: Drop FIRMWARE_IN_KERNEL Kconfig option
    USB: serial: keyspan: Drop firmware Kconfig options
    sysfs: remove DEBUG defines
    sysfs: use SPDX identifiers
    drivers: base: add coredump driver ops
    sysfs: add attribute specification for /sysfs/devices/.../coredump
    test_firmware: fix missing unlock on error in config_num_requests_store()
    test_firmware: make local symbol test_fw_config static
    sysfs: turn WARN() into pr_warn()
    firmware: Fix a typo in fallback-mechanisms.rst
    treewide: Use DEVICE_ATTR_WO
    treewide: Use DEVICE_ATTR_RO
    treewide: Use DEVICE_ATTR_RW
    sysfs.h: Use octal permissions
    component: add debugfs support
    bus: simple-pm-bus: convert bool SIMPLE_PM_BUS to tristate
    ...

    Linus Torvalds
     

01 Feb, 2018

2 commits

  • Pull networking updates from David Miller:

    1) Significantly shrink the core networking routing structures. Result
    of http://vger.kernel.org/~davem/seoul2017_netdev_keynote.pdf

    2) Add netdevsim driver for testing various offloads, from Jakub
    Kicinski.

    3) Support cross-chip FDB operations in DSA, from Vivien Didelot.

    4) Add a 2nd listener hash table for TCP, similar to what was done for
    UDP. From Martin KaFai Lau.

    5) Add eBPF based queue selection to tun, from Jason Wang.

    6) Lockless qdisc support, from John Fastabend.

    7) SCTP stream interleave support, from Xin Long.

    8) Smoother TCP receive autotuning, from Eric Dumazet.

    9) Lots of erspan tunneling enhancements, from William Tu.

    10) Add true function call support to BPF, from Alexei Starovoitov.

    11) Add explicit support for GRO HW offloading, from Michael Chan.

    12) Support extack generation in more netlink subsystems. From Alexander
    Aring, Quentin Monnet, and Jakub Kicinski.

    13) Add 1000BaseX, flow control, and EEE support to mvneta driver. From
    Russell King.

    14) Add flow table abstraction to netfilter, from Pablo Neira Ayuso.

    15) Many improvements and simplifications to the NFP driver bpf JIT,
    from Jakub Kicinski.

    16) Support for ipv6 non-equal cost multipath routing, from Ido
    Schimmel.

    17) Add resource abstration to devlink, from Arkadi Sharshevsky.

    18) Packet scheduler classifier shared filter block support, from Jiri
    Pirko.

    19) Avoid locking in act_csum, from Davide Caratti.

    20) devinet_ioctl() simplifications from Al viro.

    21) More TCP bpf improvements from Lawrence Brakmo.

    22) Add support for onlink ipv6 route flag, similar to ipv4, from David
    Ahern.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1925 commits)
    tls: Add support for encryption using async offload accelerator
    ip6mr: fix stale iterator
    net/sched: kconfig: Remove blank help texts
    openvswitch: meter: Use 64-bit arithmetic instead of 32-bit
    tcp_nv: fix potential integer overflow in tcpnv_acked
    r8169: fix RTL8168EP take too long to complete driver initialization.
    qmi_wwan: Add support for Quectel EP06
    rtnetlink: enable IFLA_IF_NETNSID for RTM_NEWLINK
    ipmr: Fix ptrdiff_t print formatting
    ibmvnic: Wait for device response when changing MAC
    qlcnic: fix deadlock bug
    tcp: release sk_frag.page in tcp_disconnect
    ipv4: Get the address of interface correctly.
    net_sched: gen_estimator: fix lockdep splat
    net: macb: Handle HRESP error
    net/mlx5e: IPoIB, Fix copy-paste bug in flow steering refactoring
    ipv6: addrconf: break critical section in addrconf_verify_rtnl()
    ipv6: change route cache aging logic
    i40e/i40evf: Update DESC_NEEDED value to reflect larger value
    bnxt_en: cleanup DIM work on device shutdown
    ...

    Linus Torvalds
     
  • Pull livepatching updates from Jiri Kosina:

    - handle 'infinitely'-long sleeping tasks, from Miroslav Benes

    - remove 'immediate' feature, as it turns out it doesn't provide the
    originally expected semantics, and brings more issues than value

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching:
    livepatch: add locking to force and signal functions
    livepatch: Remove immediate feature
    livepatch: force transition to finish
    livepatch: send a fake signal to all blocking tasks

    Linus Torvalds
     

27 Jan, 2018

1 commit

  • Do not build lib/bpf/bpf.o with this Makefile but use the one from the
    library directory. This avoid making a buggy bpf.o file (e.g. missing
    symbols).

    This patch is useful if some code (e.g. Landlock tests) needs both the
    bpf.o (from tools/lib/bpf) and the bpf_load.o (from samples/bpf).

    Signed-off-by: Mickaël Salaün
    Cc: Alexei Starovoitov
    Cc: Daniel Borkmann
    Signed-off-by: Daniel Borkmann

    Mickaël Salaün
     

24 Jan, 2018

7 commits

  • Avoid extra step of setting limit from cmdline and do it directly in
    the program.

    Signed-off-by: John Fastabend
    Acked-by: Martin KaFai Lau
    Signed-off-by: Daniel Borkmann

    John Fastabend
     
  • Put client sockets in blocking mode otherwise with sendmsg tests
    its easy to overrun the socket buffers which results in the test
    being aborted.

    The original non-blocking was added to handle listen/accept with
    a single thread the client/accepted sockets do not need to be
    non-blocking.

    Signed-off-by: John Fastabend
    Acked-by: Martin KaFai Lau
    Signed-off-by: Daniel Borkmann

    John Fastabend
     
  • Add a base test that does not use BPF hooks to test baseline case.

    Signed-off-by: John Fastabend
    Acked-by: Martin KaFai Lau
    Signed-off-by: Daniel Borkmann

    John Fastabend
     
  • Report bytes/sec sent as well as total bytes. Useful to get rough
    idea how different configurations and usage patterns perform with
    sockmap.

    Signed-off-by: John Fastabend
    Acked-by: Martin KaFai Lau
    Signed-off-by: Daniel Borkmann

    John Fastabend
     
  • Currently for SENDMSG tests first send completes then recv runs. This
    does not work well for large data sizes and/or many iterations. So
    fork the recv and send handler so that we run both send and recv. In
    the future we can add a parameter to do more than a single fork of
    tx/rx.

    With this we can get many GBps of data which helps exercise the
    sockmap code.

    Signed-off-by: John Fastabend
    Acked-by: Martin KaFai Lau
    Signed-off-by: Daniel Borkmann

    John Fastabend
     
  • When testing BPF programs using sockmap I often want to have more
    control over how sendmsg is exercised. This becomes even more useful
    as new sockmap program types are added.

    This adds a test type option to select type of test to run. Currently,
    only "ping" and "sendmsg" are supported, but more can be added as
    needed.

    The new help argument gives the following,

    Usage: ./sockmap --cgroup
    options:
    --help -h
    --cgroup -c
    --rate -r
    --verbose -v
    --iov_count -i
    --length -l
    --test -t

    Signed-off-by: John Fastabend
    Signed-off-by: Daniel Borkmann

    John Fastabend
     
  • sockmap sample program takes arguments from cmd line but it reads them
    in using offsets into the array. Because we want to add more arguments
    in the future lets do proper argument handling.

    Also refactor code to pull apart sock init and ping/pong test. This
    allows us to add new tests in the future.

    Signed-off-by: John Fastabend
    Acked-by: Martin KaFai Lau
    Signed-off-by: Daniel Borkmann

    John Fastabend
     

20 Jan, 2018

1 commit

  • The xdp_redirect_cpu sample have some "builtin" monitoring of the
    tracepoints for xdp_cpumap_*, but it is practical to have an external
    tool that can monitor these transpoint as an easy way to troubleshoot
    an application using XDP + cpumap.

    Specifically I need such external tool when working on Suricata and
    XDP cpumap redirect. Extend the xdp_monitor tool sample with
    monitoring of these xdp_cpumap_* tracepoints. Model the output format
    like xdp_redirect_cpu.

    Given I needed to handle per CPU decoding for cpumap, this patch also
    add per CPU info on the existing monitor events. This resembles part
    of the builtin monitoring output from sample xdp_rxq_info. Thus, also
    covering part of that sample in an external monitoring tool.

    Performance wise, the cpumap tracepoints uses bulking, which cause
    them to have very little overhead. Thus, they are enabled by default.

    Signed-off-by: Jesper Dangaard Brouer
    Signed-off-by: Daniel Borkmann

    Jesper Dangaard Brouer
     

18 Jan, 2018

1 commit


17 Jan, 2018

1 commit


11 Jan, 2018

2 commits

  • Immediate flag has been used to disable per-task consistency and patch
    all tasks immediately. It could be useful if the patch doesn't change any
    function or data semantics.

    However, it causes problems on its own. The consistency problem is
    currently broken with respect to immediate patches.

    func a
    patches 1i
    2i
    3

    When the patch 3 is applied, only 2i function is checked (by stack
    checking facility). There might be a task sleeping in 1i though. Such
    task is migrated to 3, because we do not check 1i in
    klp_check_stack_func() at all.

    Coming atomic replace feature would be easier to implement and more
    reliable without immediate.

    Thus, remove immediate feature completely and save us from the problems.

    Note that force feature has the similar problem. However it is
    considered as a last resort. If used, administrator should not apply any
    new live patches and should plan for reboot into an updated kernel.

    The architectures would now need to provide HAVE_RELIABLE_STACKTRACE to
    fully support livepatch.

    Signed-off-by: Miroslav Benes
    Acked-by: Josh Poimboeuf
    Signed-off-by: Jiri Kosina

    Miroslav Benes
     
  • Creating a bpf sample that shows howto use the XDP 'data_meta'
    infrastructure, created by Daniel Borkmann. Very few drivers support
    this feature, but I wanted a functional sample to begin with, when
    working on adding driver support.

    XDP data_meta is about creating a communication channel between BPF
    programs. This can be XDP tail-progs, but also other SKB based BPF
    hooks, like in this case the TC clsact hook. In this sample I show
    that XDP can store info named "mark", and TC/clsact chooses to use
    this info and store it into the skb->mark.

    It is a bit annoying that XDP and TC samples uses different tools/libs
    when attaching their BPF hooks. As the XDP and TC programs need to
    cooperate and agree on a struct-layout, it is best/easiest if the two
    programs can be contained within the same BPF restricted-C file.

    As the bpf-loader, I choose to not use bpf_load.c (or libbpf), but
    instead wrote a bash shell scripted named xdp2skb_meta.sh, which
    demonstrate howto use the iproute cmdline tools 'tc' and 'ip' for
    loading BPF programs. To make it easy for first time users, the shell
    script have command line parsing, and support --verbose and --dry-run
    mode, if you just want to see/learn the tc+ip command syntax:

    # ./xdp2skb_meta.sh --dev ixgbe2 --dry-run
    # Dry-run mode: enable VERBOSE and don't call TC+IP
    tc qdisc del dev ixgbe2 clsact
    tc qdisc add dev ixgbe2 clsact
    tc filter add dev ixgbe2 ingress prio 1 handle 1 bpf da obj ./xdp2skb_meta_kern.o sec tc_mark
    # Flush XDP on device: ixgbe2
    ip link set dev ixgbe2 xdp off
    ip link set dev ixgbe2 xdp obj ./xdp2skb_meta_kern.o sec xdp_mark

    Signed-off-by: Jesper Dangaard Brouer
    Signed-off-by: Daniel Borkmann

    Jesper Dangaard Brouer
     

06 Jan, 2018

1 commit

  • This sample program can be used for monitoring and reporting how many
    packets per sec (pps) are received per NIC RX queue index and which
    CPU processed the packet. In itself it is a useful tool for quickly
    identifying RSS imbalance issues, see below.

    The default XDP action is XDP_PASS in-order to provide a monitor
    mode. For benchmarking purposes it is possible to specify other XDP
    actions on the cmdline --action.

    Output below shows an imbalance RSS case where most RXQ's deliver to
    CPU-0 while CPU-2 only get packets from a single RXQ. Looking at
    things from a CPU level the two CPUs are processing approx the same
    amount, BUT looking at the rx_queue_index levels it is clear that
    RXQ-2 receive much better service, than other RXQs which all share CPU-0.

    Running XDP on dev:i40e1 (ifindex:3) action:XDP_PASS
    XDP stats CPU pps issue-pps
    XDP-RX CPU 0 900,473 0
    XDP-RX CPU 2 906,921 0
    XDP-RX CPU total 1,807,395

    RXQ stats RXQ:CPU pps issue-pps
    rx_queue_index 0:0 180,098 0
    rx_queue_index 0:sum 180,098
    rx_queue_index 1:0 180,098 0
    rx_queue_index 1:sum 180,098
    rx_queue_index 2:2 906,921 0
    rx_queue_index 2:sum 906,921
    rx_queue_index 3:0 180,098 0
    rx_queue_index 3:sum 180,098
    rx_queue_index 4:0 180,082 0
    rx_queue_index 4:sum 180,082
    rx_queue_index 5:0 180,093 0
    rx_queue_index 5:sum 180,093

    Signed-off-by: Jesper Dangaard Brouer
    Signed-off-by: Alexei Starovoitov

    Jesper Dangaard Brouer
     

18 Dec, 2017

1 commit

  • Daniel Borkmann says:

    ====================
    pull-request: bpf-next 2017-12-18

    The following pull-request contains BPF updates for your *net-next* tree.

    The main changes are:

    1) Allow arbitrary function calls from one BPF function to another BPF function.
    As of today when writing BPF programs, __always_inline had to be used in
    the BPF C programs for all functions, unnecessarily causing LLVM to inflate
    code size. Handle this more naturally with support for BPF to BPF calls
    such that this __always_inline restriction can be overcome. As a result,
    it allows for better optimized code and finally enables to introduce core
    BPF libraries in the future that can be reused out of different projects.
    x86 and arm64 JIT support was added as well, from Alexei.

    2) Add infrastructure for tagging functions as error injectable and allow for
    BPF to return arbitrary error values when BPF is attached via kprobes on
    those. This way of injecting errors generically eases testing and debugging
    without having to recompile or restart the kernel. Tags for opting-in for
    this facility are added with BPF_ALLOW_ERROR_INJECTION(), from Josef.

    3) For BPF offload via nfp JIT, add support for bpf_xdp_adjust_head() helper
    call for XDP programs. First part of this work adds handling of BPF
    capabilities included in the firmware, and the later patches add support
    to the nfp verifier part and JIT as well as some small optimizations,
    from Jakub.

    4) The bpftool now also gets support for basic cgroup BPF operations such
    as attaching, detaching and listing current BPF programs. As a requirement
    for the attach part, bpftool can now also load object files through
    'bpftool prog load'. This reuses libbpf which we have in the kernel tree
    as well. bpftool-cgroup man page is added along with it, from Roman.

    5) Back then commit e87c6bc3852b ("bpf: permit multiple bpf attachments for
    a single perf event") added support for attaching multiple BPF programs
    to a single perf event. Given they are configured through perf's ioctl()
    interface, the interface has been extended with a PERF_EVENT_IOC_QUERY_BPF
    command in this work in order to return an array of one or multiple BPF
    prog ids that are currently attached, from Yonghong.

    6) Various minor fixes and cleanups to the bpftool's Makefile as well
    as a new 'uninstall' and 'doc-uninstall' target for removing bpftool
    itself or prior installed documentation related to it, from Quentin.

    7) Add CONFIG_CGROUP_BPF=y to the BPF kernel selftest config file which is
    required for the test_dev_cgroup test case to run, from Naresh.

    8) Fix reporting of XDP prog_flags for nfp driver, from Jakub.

    9) Fix libbpf's exit code from the Makefile when libelf was not found in
    the system, also from Jakub.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

16 Dec, 2017

1 commit


13 Dec, 2017

1 commit

  • This adds a basic test for bpf_override_return to verify it works. We
    override the main function for mounting a btrfs fs so it'll return
    -ENOMEM and then make sure that trying to mount a btrfs fs will fail.

    Acked-by: Alexei Starovoitov
    Acked-by: Ingo Molnar
    Signed-off-by: Josef Bacik
    Signed-off-by: Alexei Starovoitov

    Josef Bacik
     

11 Dec, 2017

1 commit


08 Dec, 2017

2 commits

  • Now that the SPDX tag is in all kobject files, that identifies the
    license in a specific and legally-defined manner. So the extra GPL text
    wording can be removed as it is no longer needed at all.

    This is done on a quest to remove the 700+ different ways that files in
    the kernel describe the GPL license text. And there's unneeded stuff
    like the address (sometimes incorrect) for the FSF which is never
    needed.

    No copyright headers or other non-license-description text was removed.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • It's good to have SPDX identifiers in all files to make it easier to
    audit the kernel tree for correct licenses.

    Update the kobject files files with the correct SPDX license identifier
    based on the license text in the file itself. The SPDX identifier is a
    legally binding shorthand, which can be used instead of the full boiler
    plate text.

    This work is based on a script and data from Thomas Gleixner, Philippe
    Ombredanne, and Kate Stewart.

    Cc: Thomas Gleixner
    Cc: Kate Stewart
    Cc: Philippe Ombredanne
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

07 Dec, 2017

1 commit


05 Dec, 2017

3 commits

  • Small overlapping change conflict ('net' changed a line,
    'net-next' added a line right afterwards) in flexcan.c

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Daniel Borkmann says:

    ====================
    pull-request: bpf-next 2017-12-03

    The following pull-request contains BPF updates for your *net-next* tree.

    The main changes are:

    1) Addition of a software model for BPF offloads in order to ease
    testing code changes in that area and make semantics more clear.
    This is implemented in a new driver called netdevsim, which can
    later also be extended for other offloads. SR-IOV support is added
    as well to netdevsim. BPF kernel selftests for offloading are
    added so we can track basic functionality as well as exercising
    all corner cases around BPF offloading, from Jakub.

    2) Today drivers have to drop the reference on BPF progs they hold
    due to XDP on device teardown themselves. Change this in order
    to make XDP handling inside the drivers less error prone, and
    move disabling XDP to the core instead, also from Jakub.

    3) Misc set of BPF verifier improvements and cleanups as preparatory
    work for upcoming BPF-to-BPF calls. Among others, this set also
    improves liveness marking such that pruning can be slightly more
    effective. Register and stack liveness information is now included
    in the verifier log as well, from Alexei.

    4) nfp JIT improvements in order to identify load/store sequences in
    the BPF prog e.g. coming from memcpy lowering and optimizing them
    through the NPU's command push pull (CPP) instruction, from Jiong.

    5) Cleanups to test_cgrp2_attach2.c BPF sample code in oder to remove
    bpf_prog_attach() magic values and replacing them with actual proper
    attach flag instead, from David.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Extend existing tests for vxlan, gre, geneve, ipip, erspan,
    to include ip6 gre and gretap tunnel.

    Signed-off-by: William Tu
    Cc: Alexei Starovoitov
    Signed-off-by: David S. Miller

    William Tu
     

04 Dec, 2017

1 commit

  • Daniel Borkmann says:

    ====================
    pull-request: bpf 2017-12-02

    The following pull-request contains BPF updates for your *net* tree.

    The main changes are:

    1) Fix a compilation warning in xdp redirect tracepoint due to
    missing bpf.h include that pulls in struct bpf_map, from Xie.

    2) Limit the maximum number of attachable BPF progs for a given
    perf event as long as uabi is not frozen yet. The hard upper
    limit is now 64 and therefore the same as with BPF multi-prog
    for cgroups. Also add related error checking for the sample
    BPF loader when enabling and attaching to the perf event, from
    Yonghong.

    3) Specifically set the RLIMIT_MEMLOCK for the test_verifier_log
    case, so that the test case can always pass and not fail in
    some environments due to too low default limit, also from
    Yonghong.

    4) Fix up a missing license header comment for kernel/bpf/offload.c,
    from Jakub.

    5) Several fixes for bpftool, among others a crash on incorrect
    arguments when json output is used, error message handling
    fixes on unknown options and proper destruction of json writer
    for some exit cases, all from Quentin.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

01 Dec, 2017

2 commits

  • load_bpf_file() should fail if ioctl with command
    PERF_EVENT_IOC_ENABLE and PERF_EVENT_IOC_SET_BPF fails.
    When they do fail, proper error messages are printed.

    With this change, the below "syscall_tp" run shows that
    the maximum number of bpf progs attaching to the same
    perf tracepoint is indeed enforced.
    $ ./syscall_tp -i 64
    prog #0: map ids 4 5
    ...
    prog #63: map ids 382 383
    $ ./syscall_tp -i 65
    prog #0: map ids 4 5
    ...
    prog #64: map ids 388 389
    ioctl PERF_EVENT_IOC_SET_BPF failed err Argument list too long

    Signed-off-by: Yonghong Song
    Signed-off-by: Daniel Borkmann

    Yonghong Song
     
  • Attach flag 1 == BPF_F_ALLOW_OVERRIDE; attach flag 2 == BPF_F_ALLOW_MULTI.
    Update the calls to bpf_prog_attach() in test_cgrp2_attach2.c to use the
    names over the magic numbers.

    Fixes: 39323e788cb67 ("samples/bpf: add multi-prog cgroup test case")
    Signed-off-by: David Ahern
    Signed-off-by: Daniel Borkmann

    David Ahern
     

18 Nov, 2017

1 commit


16 Nov, 2017

3 commits

  • Pull media updates from Mauro Carvalho Chehab:

    - Documentation for digital TV (both kAPI and uAPI) are now in sync
    with the implementation (except for legacy/deprecated ioctls). This
    is a major step, as there were always a gap there

    - New sensor driver: imx274

    - New cec driver: cec-gpio

    - New platform driver for rockship rga and tegra CEC

    - New RC driver: tango-ir

    - Several cleanups at atomisp driver

    - Core improvements for RC, CEC, V4L2 async probing support and DVB

    - Lots of drivers cleanup, fixes and improvements.

    * tag 'media/v4.15-1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (332 commits)
    dvb_frontend: don't use-after-free the frontend struct
    media: dib0700: fix invalid dvb_detach argument
    media: v4l2-ctrls: Don't validate BITMASK twice
    media: s5p-mfc: fix lockdep warning
    media: dvb-core: always call invoke_release() in fe_free()
    media: usb: dvb-usb-v2: dvb_usb_core: remove redundant code in dvb_usb_fe_sleep
    media: au0828: make const array addr_list static
    media: cx88: make const arrays default_addr_list and pvr2000_addr_list static
    media: drxd: make const array fastIncrDecLUT static
    media: usb: fix spelling mistake: "synchronuously" -> "synchronously"
    media: ddbridge: fix build warnings
    media: av7110: avoid 2038 overflow in debug print
    media: Don't do DMA on stack for firmware upload in the AS102 driver
    media: v4l: async: fix unregister for implicitly registered sub-device notifiers
    media: v4l: async: fix return of unitialized variable ret
    media: imx274: fix missing return assignment from call to imx274_mode_regs
    media: camss-vfe: always initialize reg at vfe_set_xbar_cfg()
    media: atomisp: make function calls cleaner
    media: atomisp: get rid of storage_class.h
    media: atomisp: get rid of wrong stddef.h include
    ...

    Linus Torvalds
     
  • Pull networking updates from David Miller:
    "Highlights:

    1) Maintain the TCP retransmit queue using an rbtree, with 1GB
    windows at 100Gb this really has become necessary. From Eric
    Dumazet.

    2) Multi-program support for cgroup+bpf, from Alexei Starovoitov.

    3) Perform broadcast flooding in hardware in mv88e6xxx, from Andrew
    Lunn.

    4) Add meter action support to openvswitch, from Andy Zhou.

    5) Add a data meta pointer for BPF accessible packets, from Daniel
    Borkmann.

    6) Namespace-ify almost all TCP sysctl knobs, from Eric Dumazet.

    7) Turn on Broadcom Tags in b53 driver, from Florian Fainelli.

    8) More work to move the RTNL mutex down, from Florian Westphal.

    9) Add 'bpftool' utility, to help with bpf program introspection.
    From Jakub Kicinski.

    10) Add new 'cpumap' type for XDP_REDIRECT action, from Jesper
    Dangaard Brouer.

    11) Support 'blocks' of transformations in the packet scheduler which
    can span multiple network devices, from Jiri Pirko.

    12) TC flower offload support in cxgb4, from Kumar Sanghvi.

    13) Priority based stream scheduler for SCTP, from Marcelo Ricardo
    Leitner.

    14) Thunderbolt networking driver, from Amir Levy and Mika Westerberg.

    15) Add RED qdisc offloadability, and use it in mlxsw driver. From
    Nogah Frankel.

    16) eBPF based device controller for cgroup v2, from Roman Gushchin.

    17) Add some fundamental tracepoints for TCP, from Song Liu.

    18) Remove garbage collection from ipv6 route layer, this is a
    significant accomplishment. From Wei Wang.

    19) Add multicast route offload support to mlxsw, from Yotam Gigi"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (2177 commits)
    tcp: highest_sack fix
    geneve: fix fill_info when link down
    bpf: fix lockdep splat
    net: cdc_ncm: GetNtbFormat endian fix
    openvswitch: meter: fix NULL pointer dereference in ovs_meter_cmd_reply_start
    netem: remove unnecessary 64 bit modulus
    netem: use 64 bit divide by rate
    tcp: Namespace-ify sysctl_tcp_default_congestion_control
    net: Protect iterations over net::fib_notifier_ops in fib_seq_sum()
    ipv6: set all.accept_dad to 0 by default
    uapi: fix linux/tls.h userspace compilation error
    usbnet: ipheth: prevent TX queue timeouts when device not ready
    vhost_net: conditionally enable tx polling
    uapi: fix linux/rxrpc.h userspace compilation errors
    net: stmmac: fix LPI transitioning for dwmac4
    atm: horizon: Fix irq release error
    net-sysfs: trigger netlink notification on ifalias change via sysfs
    openvswitch: Using kfree_rcu() to simplify the code
    openvswitch: Make local function ovs_nsh_key_attr_size() static
    openvswitch: Fix return value check in ovs_meter_cmd_features()
    ...

    Linus Torvalds
     
  • Pull livepatching updates from Jiri Kosina:

    - shadow variables support, allowing livepatches to associate new
    "shadow" fields to existing data structures, from Joe Lawrence

    - pre/post patch callbacks API, allowing livepatch writers to register
    callbacks to be called before and after patch application, from Joe
    Lawrence

    * 'for-linus' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching:
    livepatch: __klp_disable_patch() should never be called for disabled patches
    livepatch: Correctly call klp_post_unpatch_callback() in error paths
    livepatch: add transition notices
    livepatch: move transition "complete" notice into klp_complete_transition()
    livepatch: add (un)patch callbacks
    livepatch: Small shadow variable documentation fixes
    livepatch: __klp_shadow_get_or_alloc() is local to shadow.c
    livepatch: introduce shadow variable API

    Linus Torvalds