1. 09 Jul, 2022 13 commits
  2. 08 Jul, 2022 14 commits
  3. 07 Jul, 2022 13 commits
    • Jakub Kicinski's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 83ec88d8
      Jakub Kicinski authored
      No conflicts.
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      83ec88d8
    • Linus Torvalds's avatar
      Merge tag 'net-5.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · ef4ab3ba
      Linus Torvalds authored
      Pull networking fixes from Paolo Abeni:
       "Including fixes from bpf, netfilter, can, and bluetooth.
      
        Current release - regressions:
      
         - bluetooth: fix deadlock on hci_power_on_sync
      
        Previous releases - regressions:
      
         - sched: act_police: allow 'continue' action offload
      
         - eth: usbnet: fix memory leak in error case
      
         - eth: ibmvnic: properly dispose of all skbs during a failover
      
        Previous releases - always broken:
      
         - bpf:
             - fix insufficient bounds propagation from
               adjust_scalar_min_max_vals
             - clear page contiguity bit when unmapping pool
      
         - netfilter: nft_set_pipapo: release elements in clone from
           abort path
      
         - mptcp: netlink: issue MP_PRIO signals from userspace PMs
      
         - can:
             - rcar_canfd: fix data transmission failed on R-Car V3U
             - gs_usb: gs_usb_open/close(): fix memory leak
      
        Misc:
      
         - add Wenjia as SMC maintainer"
      
      * tag 'net-5.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (57 commits)
        wireguard: Kconfig: select CRYPTO_CHACHA_S390
        crypto: s390 - do not depend on CRYPTO_HW for SIMD implementations
        wireguard: selftests: use microvm on x86
        wireguard: selftests: always call kernel makefile
        wireguard: selftests: use virt machine on m68k
        wireguard: selftests: set fake real time in init
        r8169: fix accessing unset transport header
        net: rose: fix UAF bug caused by rose_t0timer_expiry
        usbnet: fix memory leak in error case
        Revert "tls: rx: move counting TlsDecryptErrors for sync"
        mptcp: update MIB_RMSUBFLOW in cmd_sf_destroy
        mptcp: fix local endpoint accounting
        selftests: mptcp: userspace PM support for MP_PRIO signals
        mptcp: netlink: issue MP_PRIO signals from userspace PMs
        mptcp: Acquire the subflow socket lock before modifying MP_PRIO flags
        mptcp: Avoid acquiring PM lock for subflow priority changes
        mptcp: fix locking in mptcp_nl_cmd_sf_destroy()
        net/mlx5e: Fix matchall police parameters validation
        net/sched: act_police: allow 'continue' action offload
        net: lan966x: hardcode the number of external ports
        ...
      ef4ab3ba
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 651a8536
      Linus Torvalds authored
      Pull pin control fixes from Linus Walleij:
      
       - Tag Intel pin control as supported in MAINTAINERS
      
       - Fix a NULL pointer exception in the Aspeed driver
      
       - Correct some NAND functions in the Sunxi A83T driver
      
       - Use the right offset for some Sunxi pins
      
       - Fix a zero base offset in the Freescale (NXP) i.MX93
      
       - Fix the IRQ support in the STM32 driver
      
      * tag 'pinctrl-v5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: stm32: fix optional IRQ support to gpios
        pinctrl: imx: Add the zero base flag for imx93
        pinctrl: sunxi: sunxi_pconf_set: use correct offset
        pinctrl: sunxi: a83t: Fix NAND function name for some pins
        pinctrl: aspeed: Fix potential NULL dereference in aspeed_pinmux_set_mux()
        MAINTAINERS: Update Intel pin control to Supported
      651a8536
    • Linus Torvalds's avatar
      signal handling: don't use BUG_ON() for debugging · a382f8fe
      Linus Torvalds authored
      These are indeed "should not happen" situations, but it turns out recent
      changes made the 'task_is_stopped_or_trace()' case trigger (fix for that
      exists, is pending more testing), and the BUG_ON() makes it
      unnecessarily hard to actually debug for no good reason.
      
      It's been that way for a long time, but let's make it clear: BUG_ON() is
      not good for debugging, and should never be used in situations where you
      could just say "this shouldn't happen, but we can continue".
      
      Use WARN_ON_ONCE() instead to make sure it gets logged, and then just
      continue running.  Instead of making the system basically unusuable
      because you crashed the machine while potentially holding some very core
      locks (eg this function is commonly called while holding 'tasklist_lock'
      for writing).
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a382f8fe
    • Kuniyuki Iwashima's avatar
      af_unix: Optimise hash table layout. · cf21b355
      Kuniyuki Iwashima authored
      Commit 6dd4142f ("Merge branch 'af_unix-per-netns-socket-hash'") and
      commit 51bae889 ("af_unix: Put pathname sockets in the global hash
      table.") changed a hash table layout.
      
        Before:
          unix_socket_table [0   - 255] : abstract & pathname sockets
                            [256 - 511] : unnamed sockets
      
        After:
          per-netns table   [0   - 255] : abstract & pathname sockets
                            [256 - 511] : unnamed sockets
          bsd_socket_table  [0   - 255] : pathname sockets (sk_bind_node)
      
      Now, while looking up sockets, we traverse the global table for the
      pathname sockets and the first half of each per-netns hash table for
      abstract sockets, where pathname sockets are also linked.  Thus, the
      more pathname sockets we have, the longer we take to look up abstract
      sockets.  This characteristic has been there before the layout change,
      but we can improve it now.
      
      This patch changes the per-netns hash table's layout so that sockets not
      requiring lookup reside in the first half and do not impact the lookup of
      abstract sockets.
      
          per-netns table   [0   - 255] : pathname & unnamed sockets
                            [256 - 511] : abstract sockets
          bsd_socket_table  [0   - 255] : pathname sockets (sk_bind_node)
      
      We have run a test that bind()s 100,000 abstract/pathname sockets for
      each, bind()s an abstract socket 100,000 times and measures the time
      on __unix_find_socket_byname().  The result shows that the patch makes
      each lookup faster.
      
        Without this patch:
          $ sudo ./funclatency -p 2278 --microseconds __unix_find_socket_byname.isra.44
           usec                : count    distribution
               0 -> 1          : 0        |                                        |
               2 -> 3          : 0        |                                        |
               4 -> 7          : 0        |                                        |
               8 -> 15         : 126      |                                        |
              16 -> 31         : 1438     |*                                       |
              32 -> 63         : 4150     |***                                     |
              64 -> 127        : 9049     |*******                                 |
             128 -> 255        : 37704    |*******************************         |
             256 -> 511        : 47533    |****************************************|
      
        With this patch:
          $ sudo ./funclatency -p 3648 --microseconds __unix_find_socket_byname.isra.46
           usec                : count    distribution
               0 -> 1          : 109      |                                        |
               2 -> 3          : 318      |                                        |
               4 -> 7          : 725      |                                        |
               8 -> 15         : 2501     |*                                       |
              16 -> 31         : 3061     |**                                      |
              32 -> 63         : 4028     |***                                     |
              64 -> 127        : 9312     |*******                                 |
             128 -> 255        : 51372    |****************************************|
             256 -> 511        : 28574    |**********************                  |
      Signed-off-by: default avatarKuniyuki Iwashima <kuniyu@amazon.com>
      Link: https://lore.kernel.org/r/20220705233715.759-1-kuniyu@amazon.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      cf21b355
    • Jakub Kicinski's avatar
      Merge branch 'wireguard-patches-for-5-19-rc6' · 07266d06
      Jakub Kicinski authored
      Jason A. Donenfeld says:
      
      ====================
      wireguard patches for 5.19-rc6
      
      1) A few small fixups to the selftests, per usual. Of particular note is
         a fix for a test flake that occurred on especially fast systems that
         boot in less than a second.
      
      2) An addition during this cycle of some s390 crypto interacted with the
         way wireguard selects dependencies, resulting in linker errors
         reported by the kernel test robot. So Vladis sent in a patch for
         that, which also required a small preparatory fix moving some Kconfig
         symbols around.
      ====================
      
      Link: https://lore.kernel.org/r/20220707003157.526645-1-Jason@zx2c4.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      07266d06
    • Vladis Dronov's avatar
      wireguard: Kconfig: select CRYPTO_CHACHA_S390 · 0d1f7008
      Vladis Dronov authored
      Select the new implementation of CHACHA20 for S390 when available.
      It is faster than the generic software implementation, but also prevents
      some linker errors in certain situations.
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Link: https://lore.kernel.org/linux-kernel/202207030630.6SZVkrWf-lkp@intel.com/Signed-off-by: default avatarVladis Dronov <vdronov@redhat.com>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      0d1f7008
    • Jason A. Donenfeld's avatar
      crypto: s390 - do not depend on CRYPTO_HW for SIMD implementations · b7133757
      Jason A. Donenfeld authored
      Various accelerated software implementation Kconfig values for S390 were
      mistakenly placed into drivers/crypto/Kconfig, even though they're
      mainly just SIMD code and live in arch/s390/crypto/ like usual. This
      gives them the very unusual dependency on CRYPTO_HW, which leads to
      problems elsewhere.
      
      This patch fixes the issue by moving the Kconfig values for non-hardware
      drivers into the usual place in crypto/Kconfig.
      Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      b7133757
    • Jason A. Donenfeld's avatar
      wireguard: selftests: use microvm on x86 · b83fdcd9
      Jason A. Donenfeld authored
      This makes for faster tests, faster compile time, and allows us to ditch
      ACPI finally.
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      b83fdcd9
    • Jason A. Donenfeld's avatar
      wireguard: selftests: always call kernel makefile · 1a087eec
      Jason A. Donenfeld authored
      These selftests are used for much more extensive changes than just the
      wireguard source files. So always call the kernel's build file, which
      will do something or nothing after checking the whole tree, per usual.
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      1a087eec
    • Jason A. Donenfeld's avatar
      wireguard: selftests: use virt machine on m68k · 1f2f341a
      Jason A. Donenfeld authored
      This should be a bit more stable hopefully.
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      1f2f341a
    • Jason A. Donenfeld's avatar
      wireguard: selftests: set fake real time in init · 829be057
      Jason A. Donenfeld authored
      Not all platforms have an RTC, and rather than trying to force one into
      each, it's much easier to just set a fixed time. This is necessary
      because WireGuard's latest handshakes parameter is returned in wallclock
      time, and if the system time isn't set, and the system is really fast,
      then this returns 0, which trips the test.
      
      Turning this on requires setting CONFIG_COMPAT_32BIT_TIME=y, as musl
      doesn't support settimeofday without it.
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      829be057
    • Christophe JAILLET's avatar
      qed: Use bitmap_empty() · 7ed5f245
      Christophe JAILLET authored
      Use bitmap_empty() instead of hand-writing it.
      
      It is less verbose and it improves the semantic.
      Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Link: https://lore.kernel.org/r/78713a72414b99f673c3a9ec0519bb41c080935a.1657053343.git.christophe.jaillet@wanadoo.frSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      7ed5f245