1. 07 Sep, 2022 34 commits
  2. 06 Sep, 2022 6 commits
    • Paolo Abeni's avatar
      Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next · 2786bcff
      Paolo Abeni authored
      Daniel Borkmann says:
      
      ====================
      pull-request: bpf-next 2022-09-05
      
      The following pull-request contains BPF updates for your *net-next* tree.
      
      We've added 106 non-merge commits during the last 18 day(s) which contain
      a total of 159 files changed, 5225 insertions(+), 1358 deletions(-).
      
      There are two small merge conflicts, resolve them as follows:
      
      1) tools/testing/selftests/bpf/DENYLIST.s390x
      
        Commit 27e23836 ("selftests/bpf: Add lru_bug to s390x deny list") in
        bpf tree was needed to get BPF CI green on s390x, but it conflicted with
        newly added tests on bpf-next. Resolve by adding both hunks, result:
      
        [...]
        lru_bug                                  # prog 'printk': failed to auto-attach: -524
        setget_sockopt                           # attach unexpected error: -524                                               (trampoline)
        cb_refs                                  # expected error message unexpected error: -524                               (trampoline)
        cgroup_hierarchical_stats                # JIT does not support calling kernel function                                (kfunc)
        htab_update                              # failed to attach: ERROR: strerror_r(-524)=22                                (trampoline)
        [...]
      
      2) net/core/filter.c
      
        Commit 1227c177 ("net: Fix data-races around sysctl_[rw]mem_(max|default).")
        from net tree conflicts with commit 29003875 ("bpf: Change bpf_setsockopt(SOL_SOCKET)
        to reuse sk_setsockopt()") from bpf-next tree. Take the code as it is from
        bpf-next tree, result:
      
        [...]
      	if (getopt) {
      		if (optname == SO_BINDTODEVICE)
      			return -EINVAL;
      		return sk_getsockopt(sk, SOL_SOCKET, optname,
      				     KERNEL_SOCKPTR(optval),
      				     KERNEL_SOCKPTR(optlen));
      	}
      
      	return sk_setsockopt(sk, SOL_SOCKET, optname,
      			     KERNEL_SOCKPTR(optval), *optlen);
        [...]
      
      The main changes are:
      
      1) Add any-context BPF specific memory allocator which is useful in particular for BPF
         tracing with bonus of performance equal to full prealloc, from Alexei Starovoitov.
      
      2) Big batch to remove duplicated code from bpf_{get,set}sockopt() helpers as an effort
         to reuse the existing core socket code as much as possible, from Martin KaFai Lau.
      
      3) Extend BPF flow dissector for BPF programs to just augment the in-kernel dissector
         with custom logic. In other words, allow for partial replacement, from Shmulik Ladkani.
      
      4) Add a new cgroup iterator to BPF with different traversal options, from Hao Luo.
      
      5) Support for BPF to collect hierarchical cgroup statistics efficiently through BPF
         integration with the rstat framework, from Yosry Ahmed.
      
      6) Support bpf_{g,s}et_retval() under more BPF cgroup hooks, from Stanislav Fomichev.
      
      7) BPF hash table and local storages fixes under fully preemptible kernel, from Hou Tao.
      
      8) Add various improvements to BPF selftests and libbpf for compilation with gcc BPF
         backend, from James Hilliard.
      
      9) Fix verifier helper permissions and reference state management for synchronous
         callbacks, from Kumar Kartikeya Dwivedi.
      
      10) Add support for BPF selftest's xskxceiver to also be used against real devices that
          support MAC loopback, from Maciej Fijalkowski.
      
      11) Various fixes to the bpf-helpers(7) man page generation script, from Quentin Monnet.
      
      12) Document BPF verifier's tnum_in(tnum_range(), ...) gotchas, from Shung-Hsi Yu.
      
      13) Various minor misc improvements all over the place.
      
      * https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (106 commits)
        bpf: Optimize rcu_barrier usage between hash map and bpf_mem_alloc.
        bpf: Remove usage of kmem_cache from bpf_mem_cache.
        bpf: Remove prealloc-only restriction for sleepable bpf programs.
        bpf: Prepare bpf_mem_alloc to be used by sleepable bpf programs.
        bpf: Remove tracing program restriction on map types
        bpf: Convert percpu hash map to per-cpu bpf_mem_alloc.
        bpf: Add percpu allocation support to bpf_mem_alloc.
        bpf: Batch call_rcu callbacks instead of SLAB_TYPESAFE_BY_RCU.
        bpf: Adjust low/high watermarks in bpf_mem_cache
        bpf: Optimize call_rcu in non-preallocated hash map.
        bpf: Optimize element count in non-preallocated hash map.
        bpf: Relax the requirement to use preallocated hash maps in tracing progs.
        samples/bpf: Reduce syscall overhead in map_perf_test.
        selftests/bpf: Improve test coverage of test_maps
        bpf: Convert hash map to bpf_mem_alloc.
        bpf: Introduce any context BPF specific memory allocator.
        selftest/bpf: Add test for bpf_getsockopt()
        bpf: Change bpf_getsockopt(SOL_IPV6) to reuse do_ipv6_getsockopt()
        bpf: Change bpf_getsockopt(SOL_IP) to reuse do_ip_getsockopt()
        bpf: Change bpf_getsockopt(SOL_TCP) to reuse do_tcp_getsockopt()
        ...
      ====================
      
      Link: https://lore.kernel.org/r/20220905161136.9150-1-daniel@iogearbox.netSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      2786bcff
    • Christophe JAILLET's avatar
      ice: Simplify memory allocation in ice_sched_init_port() · 04cbaa6c
      Christophe JAILLET authored
      'buf' is locale to the ice_sched_init_port() function.
      There is no point in using devm_kzalloc()/devm_kfree().
      
      use kzalloc()/kfree() instead.
      Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      04cbaa6c
    • Christophe JAILLET's avatar
      ice: switch: Simplify memory allocation · 1b9e740d
      Christophe JAILLET authored
      'rbuf' is locale to the ice_get_initial_sw_cfg() function.
      There is no point in using devm_kzalloc()/devm_kfree().
      
      use kzalloc()/kfree() instead.
      Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Reviewed-by: default avatarMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      1b9e740d
    • Paul Greenwalt's avatar
      ice: add helper function to check FW API version · 1bd50f2d
      Paul Greenwalt authored
      Several functions in ice_common.c check the firmware API version to see if
      the current API version meets some minimum requirement.
      
      Improve the readability of these checks by introducing
      ice_is_fw_api_min_ver, a helper function to perform that check.
      Signed-off-by: default avatarPaul Greenwalt <paul.greenwalt@intel.com>
      Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      1bd50f2d
    • Michal Michalik's avatar
      ice: Check if reset in progress while waiting for offsets · 0b57e0d4
      Michal Michalik authored
      Occasionally while waiting to valid offsets from hardware we get reset.
      Add check for reset before proceeding to execute scheduled work.
      Co-developed-by: default avatarKarol Kolacinski <karol.kolacinski@intel.com>
      Signed-off-by: default avatarKarol Kolacinski <karol.kolacinski@intel.com>
      Signed-off-by: default avatarMichal Michalik <michal.michalik@intel.com>
      Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      0b57e0d4
    • Tony Nguyen's avatar
      ice: Allow operation with reduced device MSI-X · ce462613
      Tony Nguyen authored
      The driver currently takes an all or nothing approach for device MSI-X
      vectors. Meaning if it does not get its full allocation, it will fail and
      not load. There is no reason it can't work with a reduced number of MSI-X
      vectors. Take a similar approach as commit 741106f7 ("ice: Improve
      MSI-X fallback logic") and, instead, adjust the MSI-X request to make use
      of what is available.
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      Tested-by: default avatarPetr Oros <poros@redhat.com>
      Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
      ce462613