1. 08 Apr, 2022 5 commits
  2. 07 Apr, 2022 2 commits
    • Volodymyr Mytnyk's avatar
      prestera: acl: add action hw_stats support · e8bd7025
      Volodymyr Mytnyk authored
      Currently, when user adds a tc action and the action gets offloaded,
      the user expects the HW stats to be counted also. This limits the
      amount of supported offloaded filters, as HW counter resources may
      be quite limited. Without counter assigned, the HW is capable to
      carry much more filters.
      
      To resolve the issue above, the following types of HW stats are
      offloaded and supported by the driver:
      
      any       - current default, user does not care about the type.
      delayed   - polled from HW periodically.
      disabled  - no HW stats needed.
      immediate - not supported.
      
      Example:
        tc filter add dev PORT ingress proto ip flower skip_sw ip_proto 0x11 \
          action drop
        tc filter add dev PORT ingress proto ip flower skip_sw ip_proto 0x12 \
          action drop hw_stats disabled
        tc filter add dev sw1p1 ingress proto ip flower skip_sw ip_proto 0x14 \
          action drop hw_stats delayed
      Signed-off-by: default avatarVolodymyr Mytnyk <vmytnyk@marvell.com>
      Link: https://lore.kernel.org/r/1649164814-18731-1-git-send-email-volodymyr.mytnyk@plvision.euSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      e8bd7025
    • Niels Dossche's avatar
      ipv6: fix locking issues with loops over idev->addr_list · 51454ea4
      Niels Dossche authored
      idev->addr_list needs to be protected by idev->lock. However, it is not
      always possible to do so while iterating and performing actions on
      inet6_ifaddr instances. For example, multiple functions (like
      addrconf_{join,leave}_anycast) eventually call down to other functions
      that acquire the idev->lock. The current code temporarily unlocked the
      idev->lock during the loops, which can cause race conditions. Moving the
      locks up is also not an appropriate solution as the ordering of lock
      acquisition will be inconsistent with for example mc_lock.
      
      This solution adds an additional field to inet6_ifaddr that is used
      to temporarily add the instances to a temporary list while holding
      idev->lock. The temporary list can then be traversed without holding
      idev->lock. This change was done in two places. In addrconf_ifdown, the
      list_for_each_entry_safe variant of the list loop is also no longer
      necessary as there is no deletion within that specific loop.
      Suggested-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarNiels Dossche <dossche.niels@gmail.com>
      Acked-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Link: https://lore.kernel.org/r/20220403231523.45843-1-dossche.niels@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      51454ea4
  3. 06 Apr, 2022 27 commits
  4. 05 Apr, 2022 2 commits
  5. 03 Apr, 2022 4 commits
    • Linus Torvalds's avatar
      Linux 5.18-rc1 · 31231092
      Linus Torvalds authored
      31231092
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 09bb8856
      Linus Torvalds authored
      Pull more tracing updates from Steven Rostedt:
      
       - Rename the staging files to give them some meaning. Just
         stage1,stag2,etc, does not show what they are for
      
       - Check for NULL from allocation in bootconfig
      
       - Hold event mutex for dyn_event call in user events
      
       - Mark user events to broken (to work on the API)
      
       - Remove eBPF updates from user events
      
       - Remove user events from uapi header to keep it from being installed.
      
       - Move ftrace_graph_is_dead() into inline as it is called from hot
         paths and also convert it into a static branch.
      
      * tag 'trace-v5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Move user_events.h temporarily out of include/uapi
        ftrace: Make ftrace_graph_is_dead() a static branch
        tracing: Set user_events to BROKEN
        tracing/user_events: Remove eBPF interfaces
        tracing/user_events: Hold event_mutex during dyn_event_add
        proc: bootconfig: Add null pointer check
        tracing: Rename the staging files for trace_events
      09bb8856
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 34a53ff9
      Linus Torvalds authored
      Pull clk fix from Stephen Boyd:
       "A single revert to fix a boot regression seen when clk_put() started
        dropping rate range requests. It's best to keep various systems
        booting so we'll kick this out and try again next time"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        Revert "clk: Drop the rate range on clk_put()"
      34a53ff9
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2022-04-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8b5656bc
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "A set of x86 fixes and updates:
      
         - Make the prctl() for enabling dynamic XSTATE components correct so
           it adds the newly requested feature to the permission bitmap
           instead of overwriting it. Add a selftest which validates that.
      
         - Unroll string MMIO for encrypted SEV guests as the hypervisor
           cannot emulate it.
      
         - Handle supervisor states correctly in the FPU/XSTATE code so it
           takes the feature set of the fpstate buffer into account. The
           feature sets can differ between host and guest buffers. Guest
           buffers do not contain supervisor states. So far this was not an
           issue, but with enabling PASID it needs to be handled in the buffer
           offset calculation and in the permission bitmaps.
      
         - Avoid a gazillion of repeated CPUID invocations in by caching the
           values early in the FPU/XSTATE code.
      
         - Enable CONFIG_WERROR in x86 defconfig.
      
         - Make the X86 defconfigs more useful by adapting them to Y2022
           reality"
      
      * tag 'x86-urgent-2022-04-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu/xstate: Consolidate size calculations
        x86/fpu/xstate: Handle supervisor states in XSTATE permissions
        x86/fpu/xsave: Handle compacted offsets correctly with supervisor states
        x86/fpu: Cache xfeature flags from CPUID
        x86/fpu/xsave: Initialize offset/size cache early
        x86/fpu: Remove unused supervisor only offsets
        x86/fpu: Remove redundant XCOMP_BV initialization
        x86/sev: Unroll string mmio with CC_ATTR_GUEST_UNROLL_STRING_IO
        x86/config: Make the x86 defconfigs a bit more usable
        x86/defconfig: Enable WERROR
        selftests/x86/amx: Update the ARCH_REQ_XCOMP_PERM test
        x86/fpu/xstate: Fix the ARCH_REQ_XCOMP_PERM implementation
      8b5656bc