Skip to content
  1. Feb 05, 2024
    • David Howells's avatar
      rxrpc: Fix counting of new acks and nacks · 41b7fa15
      David Howells authored
      Fix the counting of new acks and nacks when parsing a packet - something
      that is used in congestion control.
      
      As the code stands, it merely notes if there are any nacks whereas what we
      really should do is compare the previous SACK table to the new one,
      assuming we get two successive ACK packets with nacks in them.  However, we
      really don't want to do that if we can avoid it as the tables might not
      correspond directly as one may be shifted from the other - something that
      will only get harder to deal with once extended ACK tables come into full
      use (with a capacity of up to 8192).
      
      Instead, count the number of nacks shifted out of the old SACK, the number
      of nacks retained in the portion still active and the number of new acks
      and nacks in the new table then calculate what we need.
      
      Note this ends up a bit of an estimate as the Rx protocol allows acks to be
      withdrawn by the receiver and packets requested to be retransmitted.
      
      Fixes: d57a3a15
      
       ("rxrpc: Save last ACK's SACK table rather than marking txbufs")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Marc Dionne <marc.dionne@auristor.com>
      cc: "David S. Miller" <davem@davemloft.net>
      cc: Eric Dumazet <edumazet@google.com>
      cc: Jakub Kicinski <kuba@kernel.org>
      cc: Paolo Abeni <pabeni@redhat.com>
      cc: linux-afs@lists.infradead.org
      cc: netdev@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      41b7fa15
    • David Howells's avatar
      rxrpc: Fix response to PING RESPONSE ACKs to a dead call · 6f769f22
      David Howells authored
      Stop rxrpc from sending a DUP ACK in response to a PING RESPONSE ACK on a
      dead call.  We may have initiated the ping but the call may have beaten the
      response to completion.
      
      Fixes: 18bfeba5
      
       ("rxrpc: Perform terminal call ACK/ABORT retransmission from conn processor")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Marc Dionne <marc.dionne@auristor.com>
      cc: "David S. Miller" <davem@davemloft.net>
      cc: Eric Dumazet <edumazet@google.com>
      cc: Jakub Kicinski <kuba@kernel.org>
      cc: Paolo Abeni <pabeni@redhat.com>
      cc: linux-afs@lists.infradead.org
      cc: netdev@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6f769f22
    • David Howells's avatar
      rxrpc: Fix delayed ACKs to not set the reference serial number · e7870cf1
      David Howells authored
      Fix the construction of delayed ACKs to not set the reference serial number
      as they can't be used as an RTT reference.
      
      Fixes: 17926a79
      
       ("[AF_RXRPC]: Provide secure RxRPC sockets for use by userspace and kernel both")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Marc Dionne <marc.dionne@auristor.com>
      cc: "David S. Miller" <davem@davemloft.net>
      cc: Eric Dumazet <edumazet@google.com>
      cc: Jakub Kicinski <kuba@kernel.org>
      cc: Paolo Abeni <pabeni@redhat.com>
      cc: linux-afs@lists.infradead.org
      cc: netdev@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e7870cf1
    • David Howells's avatar
      rxrpc: Fix generation of serial numbers to skip zero · f3104141
      David Howells authored
      In the Rx protocol, every packet generated is marked with a per-connection
      monotonically increasing serial number.  This number can be referenced in
      an ACK packet generated in response to an incoming packet - thereby
      allowing the sender to use this for RTT determination, amongst other
      things.
      
      However, if the reference field in the ACK is zero, it doesn't refer to any
      incoming packet (it could be a ping to find out if a packet got lost, for
      example) - so we shouldn't generate zero serial numbers.
      
      Fix the generation of serial numbers to retry if it comes up with a zero.
      
      Furthermore, since the serial numbers are only ever allocated within the
      I/O thread this connection is bound to, there's no need for atomics so
      remove that too.
      
      Fixes: 17926a79
      
       ("[AF_RXRPC]: Provide secure RxRPC sockets for use by userspace and kernel both")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Marc Dionne <marc.dionne@auristor.com>
      cc: "David S. Miller" <davem@davemloft.net>
      cc: Eric Dumazet <edumazet@google.com>
      cc: Jakub Kicinski <kuba@kernel.org>
      cc: Paolo Abeni <pabeni@redhat.com>
      cc: linux-afs@lists.infradead.org
      cc: netdev@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f3104141
    • David S. Miller's avatar
      Merge branch 'nfp-fixes' · fdeba0b5
      David S. Miller authored
      
      
      Louis Peens says:
      
      ====================
      nfp: a few simple driver fixes
      
      This is combining a few unrelated one-liner fixes which have been
      floating around internally into a single series. I'm not sure what is
      the least amount of overhead for reviewers, this or a separate
      submission per-patch? I guess it probably depends on personal
      preference, but please let me know if there is a strong preference to
      rather split these in the future.
      
      Summary:
      
      Patch1: Fixes an old issue which was hidden because 0 just so happens to
              be the correct value.
      Patch2: Fixes a corner case for flower offloading with bond ports
      Patch3: Re-enables the 'NETDEV_XDP_ACT_REDIRECT', which was accidentally
              disabled after a previous refactor.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fdeba0b5
    • James Hershaw's avatar
      nfp: enable NETDEV_XDP_ACT_REDIRECT feature flag · 0f4d6f01
      James Hershaw authored
      Enable previously excluded xdp feature flag for NFD3 devices. This
      feature flag is required in order to bind nfp interfaces to an xdp
      socket and the nfp driver does in fact support the feature.
      
      Fixes: 66c0e13a
      
       ("drivers: net: turn on XDP features")
      Cc: stable@vger.kernel.org # 6.3+
      Signed-off-by: default avatarJames Hershaw <james.hershaw@corigine.com>
      Signed-off-by: default avatarLouis Peens <louis.peens@corigine.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0f4d6f01
    • Daniel de Villiers's avatar
      nfp: flower: prevent re-adding mac index for bonded port · 1a1c1330
      Daniel de Villiers authored
      When physical ports are reset (either through link failure or manually
      toggled down and up again) that are slaved to a Linux bond with a tunnel
      endpoint IP address on the bond device, not all tunnel packets arriving
      on the bond port are decapped as expected.
      
      The bond dev assigns the same MAC address to itself and each of its
      slaves. When toggling a slave device, the same MAC address is therefore
      offloaded to the NFP multiple times with different indexes.
      
      The issue only occurs when re-adding the shared mac. The
      nfp_tunnel_add_shared_mac() function has a conditional check early on
      that checks if a mac entry already exists and if that mac entry is
      global: (entry && nfp_tunnel_is_mac_idx_global(entry->index)). In the
      case of a bonded device (For example br-ex), the mac index is obtained,
      and no new index is assigned.
      
      We therefore modify the conditional in nfp_tunnel_add_shared_mac() to
      check if the port belongs to the LAG along with the existing checks to
      prevent a new global mac index from being re-assigned to the slave port.
      
      Fixes: 20cce886
      
       ("nfp: flower: enable MAC address sharing for offloadable devs")
      CC: stable@vger.kernel.org # 5.1+
      Signed-off-by: default avatarDaniel de Villiers <daniel.devilliers@corigine.com>
      Signed-off-by: default avatarLouis Peens <louis.peens@corigine.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1a1c1330
    • Daniel Basilio's avatar
      nfp: use correct macro for LengthSelect in BAR config · b3d4f7f2
      Daniel Basilio authored
      The 1st and 2nd expansion BAR configuration registers are configured,
      when the driver starts up, in variables 'barcfg_msix_general' and
      'barcfg_msix_xpb', respectively. The 'LengthSelect' field is ORed in
      from bit 0, which is incorrect. The 'LengthSelect' field should
      start from bit 27.
      
      This has largely gone un-noticed because
      NFP_PCIE_BAR_PCIE2CPP_LengthSelect_32BIT happens to be 0.
      
      Fixes: 4cb584e0
      
       ("nfp: add CPP access core")
      Cc: stable@vger.kernel.org # 4.11+
      Signed-off-by: default avatarDaniel Basilio <daniel.basilio@corigine.com>
      Signed-off-by: default avatarLouis Peens <louis.peens@corigine.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b3d4f7f2
    • Eric Dumazet's avatar
      inet: read sk->sk_family once in inet_recv_error() · eef00a82
      Eric Dumazet authored
      inet_recv_error() is called without holding the socket lock.
      
      IPv6 socket could mutate to IPv4 with IPV6_ADDRFORM
      socket option and trigger a KCSAN warning.
      
      Fixes: f4713a3d
      
       ("net-timestamp: make tcp_recvmsg call ipv6_recv_error for AF_INET6 socks")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Willem de Bruijn <willemb@google.com>
      Reviewed-by: default avatarWillem de Bruijn <willemb@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      eef00a82
  2. Feb 04, 2024
  3. Feb 03, 2024
    • Zhipeng Lu's avatar
      octeontx2-pf: Fix a memleak otx2_sq_init · b09b58e3
      Zhipeng Lu authored
      When qmem_alloc and pfvf->hw_ops->sq_aq_init fails, sq->sg should be
      freed to prevent memleak.
      
      Fixes: c9c12d33
      
       ("octeontx2-pf: Add support for PTP clock")
      Signed-off-by: default avatarZhipeng Lu <alexious@zju.edu.cn>
      Acked-by: default avatarJiri Pirko <jiri@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b09b58e3
    • Zhipeng Lu's avatar
      atm: idt77252: fix a memleak in open_card_ubr0 · f3616173
      Zhipeng Lu authored
      When alloc_scq fails, card->vcs[0] (i.e. vc) should be freed. Otherwise,
      in the following call chain:
      
      idt77252_init_one
        |-> idt77252_dev_open
              |-> open_card_ubr0
                    |-> alloc_scq [failed]
        |-> deinit_card
              |-> vfree(card->vcs);
      
      card->vcs is freed and card->vcs[0] is leaked.
      
      Fixes: 1da177e4
      
       ("Linux-2.6.12-rc2")
      Signed-off-by: default avatarZhipeng Lu <alexious@zju.edu.cn>
      Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f3616173
    • Antoine Tenart's avatar
      tunnels: fix out of bounds access when building IPv6 PMTU error · d75abeec
      Antoine Tenart authored
      If the ICMPv6 error is built from a non-linear skb we get the following
      splat,
      
        BUG: KASAN: slab-out-of-bounds in do_csum+0x220/0x240
        Read of size 4 at addr ffff88811d402c80 by task netperf/820
        CPU: 0 PID: 820 Comm: netperf Not tainted 6.8.0-rc1+ #543
        ...
         kasan_report+0xd8/0x110
         do_csum+0x220/0x240
         csum_partial+0xc/0x20
         skb_tunnel_check_pmtu+0xeb9/0x3280
         vxlan_xmit_one+0x14c2/0x4080
         vxlan_xmit+0xf61/0x5c00
         dev_hard_start_xmit+0xfb/0x510
         __dev_queue_xmit+0x7cd/0x32a0
         br_dev_queue_push_xmit+0x39d/0x6a0
      
      Use skb_checksum instead of csum_partial who cannot deal with non-linear
      SKBs.
      
      Fixes: 4cb47a86
      
       ("tunnels: PMTU discovery support for directly bridged IP packets")
      Signed-off-by: default avatarAntoine Tenart <atenart@kernel.org>
      Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d75abeec
    • Gerhard Engleder's avatar
      tsnep: Fix mapping for zero copy XDP_TX action · d7f5fb33
      Gerhard Engleder authored
      For XDP_TX action xdp_buff is converted to xdp_frame. The conversion is
      done by xdp_convert_buff_to_frame(). The memory type of the resulting
      xdp_frame depends on the memory type of the xdp_buff. For page pool
      based xdp_buff it produces xdp_frame with memory type
      MEM_TYPE_PAGE_POOL. For zero copy XSK pool based xdp_buff it produces
      xdp_frame with memory type MEM_TYPE_PAGE_ORDER0.
      
      tsnep_xdp_xmit_back() is not prepared for that and uses always the page
      pool buffer type TSNEP_TX_TYPE_XDP_TX. This leads to invalid mappings
      and the transmission of undefined data.
      
      Improve tsnep_xdp_xmit_back() to use the generic buffer type
      TSNEP_TX_TYPE_XDP_NDO for zero copy XDP_TX.
      
      Fixes: 3fc23339
      
       ("tsnep: Add XDP socket zero-copy RX support")
      Signed-off-by: default avatarGerhard Engleder <gerhard@engleder-embedded.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d7f5fb33
    • Jakub Kicinski's avatar
      Merge branch 'selftests-net-more-fixes' · 010e03db
      Jakub Kicinski authored
      
      
      Paolo Abeni says:
      
      ====================
      selftests: net: more fixes
      
      Another small bunch of fixes, addressing issues outlined by the
      netdev CI.
      
      The first 2 patches are just rebased.
      
      The following 2 are new fixes, for even more problems that surfaced
      meanwhile.
      ====================
      
      Link: https://lore.kernel.org/r/cover.1706812005.git.pabeni@redhat.com
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      010e03db
    • Paolo Abeni's avatar
      selftests: net: avoid just another constant wait · 691bb4e4
      Paolo Abeni authored
      Using hard-coded constant timeout to wait for some expected
      event is deemed to fail sooner or later, especially in slow
      env.
      
      Our CI has spotted another of such race:
         # TEST: ipv6: cleanup of cached exceptions - nexthop objects          [FAIL]
         #   can't delete veth device in a timely manner, PMTU dst likely leaked
      
      Replace the crude sleep with a loop looking for the expected condition
      at low interval for a much longer range.
      
      Fixes: b3cc4f8a
      
       ("selftests: pmtu: add explicit tests for PMTU exceptions cleanup")
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Link: https://lore.kernel.org/r/fd5c745e9bb665b724473af6a9373a8c2a62b247.1706812005.git.pabeni@redhat.com
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      691bb4e4
    • Paolo Abeni's avatar
      selftests: net: fix tcp listener handling in pmtu.sh · e71e016a
      Paolo Abeni authored
      The pmtu.sh test uses a few TCP listener in a problematic way:
      It hard-codes a constant timeout to wait for the listener starting-up
      in background. That introduces unneeded latency and on very slow and
      busy host it can fail.
      
      Additionally the test starts again the same listener in the same
      namespace on the same port, just after the previous connection
      completed. Fast host can attempt starting the new server before the
      old one really closed the socket.
      
      Address the issues using the wait_local_port_listen helper and
      explicitly waiting for the background listener process exit.
      
      Fixes: 136a1b43
      
       ("selftests: net: test vxlan pmtu exceptions with tcp")
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Link: https://lore.kernel.org/r/f8e8f6d44427d8c45e9f6a71ee1a321047452087.1706812005.git.pabeni@redhat.com
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      e71e016a
    • Paolo Abeni's avatar
      selftests: net: fix setup_ns usage in rtnetlink.sh · d75df752
      Paolo Abeni authored
      The setup_ns helper marks the testns global variable as
      readonly. Later attempts to set such variable are unsuccessful,
      causing a couple test failures.
      
      Avoid completely the variable re-initialization and let the
      function access the global value.
      
      Fixes: e9ce7ede
      
       ("selftests: rtnetlink: use setup_ns in bonding test")
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Link: https://lore.kernel.org/r/6e7c937c8ff73ca52a21a4a536a13a76ec0173a8.1706812005.git.pabeni@redhat.com
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d75df752
    • Paolo Abeni's avatar
      selftests: net: cut more slack for gro fwd tests. · cb9f4a30
      Paolo Abeni authored
      The udpgro_fwd.sh self-tests are somewhat unstable. There are
      a few timing constraints the we struggle to meet on very slow
      environments.
      
      Instead of skipping the whole tests in such envs, increase the
      test resilience WRT very slow hosts: increase the inter-packets
      timeouts, avoid resetting the counters every second and finally
      disable reduce the background traffic noise.
      
      Tested with:
      
      for I in $(seq 1 100); do
      	./tools/testing/selftests/kselftest_install/run_kselftest.sh \
      		-t net:udpgro_fwd.sh || exit -1
      done
      
      in a slow environment.
      
      Fixes: a062260a
      
       ("selftests: net: add UDP GRO forwarding self-tests")
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Link: https://lore.kernel.org/r/f4b6b11064a0d39182a9ae6a853abae3e9b4426a.1706812005.git.pabeni@redhat.com
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      cb9f4a30
    • Ivan Vecera's avatar
      net: atlantic: Fix DMA mapping for PTP hwts ring · 2e7d3b67
      Ivan Vecera authored
      Function aq_ring_hwts_rx_alloc() maps extra AQ_CFG_RXDS_DEF bytes
      for PTP HWTS ring but then generic aq_ring_free() does not take this
      into account.
      Create and use a specific function to free HWTS ring to fix this
      issue.
      
      Trace:
      [  215.351607] ------------[ cut here ]------------
      [  215.351612] DMA-API: atlantic 0000:4b:00.0: device driver frees DMA memory with different size [device address=0x00000000fbdd0000] [map size=34816 bytes] [unmap size=32768 bytes]
      [  215.351635] WARNING: CPU: 33 PID: 10759 at kernel/dma/debug.c:988 check_unmap+0xa6f/0x2360
      ...
      [  215.581176] Call Trace:
      [  215.583632]  <TASK>
      [  215.585745]  ? show_trace_log_lvl+0x1c4/0x2df
      [  215.590114]  ? show_trace_log_lvl+0x1c4/0x2df
      [  215.594497]  ? debug_dma_free_coherent+0x196/0x210
      [  215.599305]  ? check_unmap+0xa6f/0x2360
      [  215.603147]  ? __warn+0xca/0x1d0
      [  215.606391]  ? check_unmap+0xa6f/0x2360
      [  215.610237]  ? report_bug+0x1ef/0x370
      [  215.613921]  ? handle_bug+0x3c/0x70
      [  215.617423]  ? exc_invalid_op+0x14/0x50
      [  215.621269]  ? asm_exc_invalid_op+0x16/0x20
      [  215.625480]  ? check_unmap+0xa6f/0x2360
      [  215.629331]  ? mark_lock.part.0+0xca/0xa40
      [  215.633445]  debug_dma_free_coherent+0x196/0x210
      [  215.638079]  ? __pfx_debug_dma_free_coherent+0x10/0x10
      [  215.643242]  ? slab_free_freelist_hook+0x11d/0x1d0
      [  215.648060]  dma_free_attrs+0x6d/0x130
      [  215.651834]  aq_ring_free+0x193/0x290 [atlantic]
      [  215.656487]  aq_ptp_ring_free+0x67/0x110 [atlantic]
      ...
      [  216.127540] ---[ end trace 6467e5964dd2640b ]---
      [  216.132160] DMA-API: Mapped at:
      [  216.132162]  debug_dma_alloc_coherent+0x66/0x2f0
      [  216.132165]  dma_alloc_attrs+0xf5/0x1b0
      [  216.132168]  aq_ring_hwts_rx_alloc+0x150/0x1f0 [atlantic]
      [  216.132193]  aq_ptp_ring_alloc+0x1bb/0x540 [atlantic]
      [  216.132213]  aq_nic_init+0x4a1/0x760 [atlantic]
      
      Fixes: 94ad9455
      
       ("net: aquantia: add PTP rings infrastructure")
      Signed-off-by: default avatarIvan Vecera <ivecera@redhat.com>
      Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
      Link: https://lore.kernel.org/r/20240201094752.883026-1-ivecera@redhat.com
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2e7d3b67
    • Eric Dumazet's avatar
      netdevsim: avoid potential loop in nsim_dev_trap_report_work() · ba5e1272
      Eric Dumazet authored
      Many syzbot reports include the following trace [1]
      
      If nsim_dev_trap_report_work() can not grab the mutex,
      it should rearm itself at least one jiffie later.
      
      [1]
      Sending NMI from CPU 1 to CPUs 0:
      NMI backtrace for cpu 0
      CPU: 0 PID: 32383 Comm: kworker/0:2 Not tainted 6.8.0-rc2-syzkaller-00031-g861c0981648f #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023
      Workqueue: events nsim_dev_trap_report_work
       RIP: 0010:bytes_is_nonzero mm/kasan/generic.c:89 [inline]
       RIP: 0010:memory_is_nonzero mm/kasan/generic.c:104 [inline]
       RIP: 0010:memory_is_poisoned_n mm/kasan/generic.c:129 [inline]
       RIP: 0010:memory_is_poisoned mm/kasan/generic.c:161 [inline]
       RIP: 0010:check_region_inline mm/kasan/generic.c:180 [inline]
       RIP: 0010:kasan_check_range+0x101/0x190 mm/kasan/generic.c:189
      Code: 07 49 39 d1 75 0a 45 3a 11 b8 01 00 00 00 7c 0b 44 89 c2 e8 21 ed ff ff 83 f0 01 5b 5d 41 5c c3 48 85 d2 74 4f 48 01 ea eb 09 <48> 83 c0 01 48 39 d0 74 41 80 38 00 74 f2 eb b6 41 bc 08 00 00 00
      RSP: 0018:ffffc90012dcf998 EFLAGS: 00000046
      RAX: fffffbfff258af1e RBX: fffffbfff258af1f RCX: ffffffff8168eda3
      RDX: fffffbfff258af1f RSI: 0000000000000004 RDI: ffffffff92c578f0
      RBP: fffffbfff258af1e R08: 0000000000000000 R09: fffffbfff258af1e
      R10: ffffffff92c578f3 R11: ffffffff8acbcbc0 R12: 0000000000000002
      R13: ffff88806db38400 R14: 1ffff920025b9f42 R15: ffffffff92c578e8
      FS:  0000000000000000(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 000000c00994e078 CR3: 000000002c250000 CR4: 00000000003506f0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      Call Trace:
       <NMI>
       </NMI>
       <TASK>
        instrument_atomic_read include/linux/instrumented.h:68 [inline]
        atomic_read include/linux/atomic/atomic-instrumented.h:32 [inline]
        queued_spin_is_locked include/asm-generic/qspinlock.h:57 [inline]
        debug_spin_unlock kernel/locking/spinlock_debug.c:101 [inline]
        do_raw_spin_unlock+0x53/0x230 kernel/locking/spinlock_debug.c:141
        __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:150 [inline]
        _raw_spin_unlock_irqrestore+0x22/0x70 kernel/locking/spinlock.c:194
        debug_object_activate+0x349/0x540 lib/debugobjects.c:726
        debug_work_activate kernel/workqueue.c:578 [inline]
        insert_work+0x30/0x230 kernel/workqueue.c:1650
        __queue_work+0x62e/0x11d0 kernel/workqueue.c:1802
        __queue_delayed_work+0x1bf/0x270 kernel/workqueue.c:1953
        queue_delayed_work_on+0x106/0x130 kernel/workqueue.c:1989
        queue_delayed_work include/linux/workqueue.h:563 [inline]
        schedule_delayed_work include/linux/workqueue.h:677 [inline]
        nsim_dev_trap_report_work+0x9c0/0xc80 drivers/net/netdevsim/dev.c:842
        process_one_work+0x886/0x15d0 kernel/workqueue.c:2633
        process_scheduled_works kernel/workqueue.c:2706 [inline]
        worker_thread+0x8b9/0x1290 kernel/workqueue.c:2787
        kthread+0x2c6/0x3a0 kernel/kthread.c:388
        ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147
        ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:242
       </TASK>
      
      Fixes: 012ec02a
      
       ("netdevsim: convert driver to use unlocked devlink API during init/fini")
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
      Link: https://lore.kernel.org/r/20240201175324.3752746-1-edumazet@google.com
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      ba5e1272
  4. Feb 02, 2024
    • Michael Lass's avatar
      net: Fix from address in memcpy_to_iter_csum() · fe92f874
      Michael Lass authored
      While inlining csum_and_memcpy() into memcpy_to_iter_csum(), the from
      address passed to csum_partial_copy_nocheck() was accidentally changed.
      This causes a regression in applications using UDP, as for example
      OpenAFS, causing loss of datagrams.
      
      Fixes: dc32bff1
      
       ("iov_iter, net: Fold in csum_and_memcpy()")
      Cc: David Howells <dhowells@redhat.com>
      Cc: stable@vger.kernel.org
      Cc: regressions@lists.linux.dev
      Signed-off-by: default avatarMichael Lass <bevan@bi-co.net>
      Reviewed-by: default avatarJeffrey Altman <jaltman@auristor.com>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fe92f874
    • Furong Xu's avatar
      net: stmmac: xgmac: fix handling of DPP safety error for DMA channels · 46eba193
      Furong Xu authored
      Commit 56e58d6c ("net: stmmac: Implement Safety Features in
      XGMAC core") checks and reports safety errors, but leaves the
      Data Path Parity Errors for each channel in DMA unhandled at all, lead to
      a storm of interrupt.
      Fix it by checking and clearing the DMA_DPP_Interrupt_Status register.
      
      Fixes: 56e58d6c
      
       ("net: stmmac: Implement Safety Features in XGMAC core")
      Signed-off-by: default avatarFurong Xu <0x1207@gmail.com>
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      46eba193
    • Linus Torvalds's avatar
      Merge tag 'net-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 41b9fb38
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from netfilter.
      
        As Paolo promised we continue to hammer out issues in our selftests.
        This is not the end but probably the peak.
      
        Current release - regressions:
      
         - smc: fix incorrect SMC-D link group matching logic
      
        Current release - new code bugs:
      
         - eth: bnxt: silence WARN() when device skips a timestamp, it happens
      
        Previous releases - regressions:
      
         - ipmr: fix null-deref when forwarding mcast packets
      
         - conntrack: evaluate window negotiation only for packets in the
           REPLY direction, otherwise SYN retransmissions trigger incorrect
           window scale negotiation
      
         - ipset: fix performance regression in swap operation
      
        Previous releases - always broken:
      
         - tcp: add sanity checks to types of pages getting into the rx
           zerocopy path, we only support basic NIC -> user, no page cache
           pages etc.
      
         - ip6_tunnel: make sure to pull inner header in __ip6_tnl_rcv()
      
         - nt_tables: more input sanitization changes
      
         - dsa: mt7530: fix 10M/100M speed on MediaTek MT7988 switch
      
         - bridge: mcast: fix loss of snooping after long uptime, jiffies do
           wrap on 32bit
      
         - xen-netback: properly sync TX responses, protect with locking
      
         - phy: mediatek-ge-soc: sync calibration values with MediaTek SDK,
           increase connection stability
      
         - eth: pds: fixes for various teardown, and reset races
      
        Misc:
      
         - hsr: silence WARN() if we can't alloc supervision frame, it
           happens"
      
      * tag 'net-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (82 commits)
        doc/netlink/specs: Add missing attr in rt_link spec
        idpf: avoid compiler padding in virtchnl2_ptype struct
        selftests: mptcp: join: stop transfer when check is done (part 2)
        selftests: mptcp: join: stop transfer when check is done (part 1)
        selftests: mptcp: allow changing subtests prefix
        selftests: mptcp: decrease BW in simult flows
        selftests: mptcp: increase timeout to 30 min
        selftests: mptcp: add missing kconfig for NF Mangle
        selftests: mptcp: add missing kconfig for NF Filter in v6
        selftests: mptcp: add missing kconfig for NF Filter
        mptcp: fix data re-injection from stale subflow
        selftests: net: enable some more knobs
        selftests: net: add missing config for NF_TARGET_TTL
        selftests: forwarding: List helper scripts in TEST_FILES Makefile variable
        selftests: net: List helper scripts in TEST_FILES Makefile variable
        selftests: net: Remove executable bits from library scripts
        selftests: bonding: Check initial state
        selftests: team: Add missing config options
        hv_netvsc: Fix race condition between netvsc_probe and netvsc_remove
        xen-netback: properly sync TX responses
        ...
      41b9fb38
    • Linus Torvalds's avatar
      Merge tag 'parisc-for-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 91481c90
      Linus Torvalds authored
      Pull parisc architecture fixes from Helge Deller:
       "The current exception handler, which helps on kernel accesses to
        userspace, may exhibit data corruption. The problem is that it is not
        guaranteed that the compiler will use the processor register we
        specified in the source code, but may choose another register which
        then will lead to silent register- and data corruption. To fix this
        issue we now use another strategy to help the exception handler to
        always find and set the error code into the correct CPU register.
      
        The other fixes are small: fixing CPU hotplug bringup, fix the page
        alignment of the RO_DATA section, added a check for the calculated
        cache stride and fix possible hangups when printing longer output at
        bootup when running on serial console.
      
        Most of the patches are tagged for stable series.
      
         - Fix random data corruption triggered by exception handler
      
         - Fix crash when setting up BTLB at CPU bringup
      
         - Prevent hung tasks when printing inventory on serial console
      
         - Make RO_DATA page aligned in vmlinux.lds.S
      
         - Add check for valid cache stride size"
      
      * tag 'parisc-for-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: BTLB: Fix crash when setting up BTLB at CPU bringup
        parisc: Fix random data corruption from exception handler
        parisc: Drop unneeded semicolon in parse_tree_node()
        parisc: Prevent hung tasks when printing inventory on serial console
        parisc: Check for valid stride size for cache flushes
        parisc: Make RO_DATA page aligned in vmlinux.lds.S
      91481c90
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v6.8' of... · a4126826
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Fix UML build with clang-18 and newer
      
       - Avoid using the alias attribute in host programs
      
       - Replace tabs with spaces when followed by conditionals for future GNU
         Make versions
      
       - Fix rpm-pkg for the systemd-provided kernel-install tool
      
       - Fix the undefined behavior in Kconfig for a 'int' symbol used in a
         conditional
      
      * tag 'kbuild-fixes-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kconfig: initialize sym->curr.tri to 'no' for all symbol types again
        kbuild: rpm-pkg: simplify installkernel %post
        kbuild: Replace tabs with spaces when followed by conditionals
        modpost: avoid using the alias attribute
        kbuild: fix W= flags in the help message
        modpost: Add '.ltext' and '.ltext.*' to TEXT_SECTIONS
        um: Fix adding '-no-pie' for clang
        kbuild: defconf: use SRCARCH to find merged configs
      a4126826
    • Linus Torvalds's avatar
      Merge tag 'nfsd-6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · cfdf0c09
      Linus Torvalds authored
      Pull nfsd fix from Chuck Lever:
      
       - Fix a recent backchannel timeout fix
      
      * tag 'nfsd-6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
        NFSv4.1: Assign the right value for initval and retries for rpc timeout
      cfdf0c09
    • Linus Torvalds's avatar
      Merge tag 'exfat-for-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat · 49a4be2c
      Linus Torvalds authored
      Pull exfat fix from Namjae Jeon:
      
       - Fix BUG in iov_iter_revert reported from syzbot
      
      * tag 'exfat-for-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat:
        exfat: fix zero the unwritten part for dio read
      49a4be2c
    • Linus Torvalds's avatar
      Merge tag 'hid-for-linus-2024020101' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 5c24e4e9
      Linus Torvalds authored
      Pull HID fixes from Benjamin Tissoires:
      
       - cleanups in the error path in hid-steam (Dan Carpenter)
      
       - fixes for Wacom tablets selftests that sneaked in while the CI was
         taking a break during the year end holidays (Benjamin Tissoires)
      
       - null pointer check in nvidia-shield (Kunwu Chan)
      
       - memory leak fix in hidraw (Su Hui)
      
       - another null pointer fix in i2c-hid-of (Johan Hovold)
      
       - another memory leak fix in HID-BPF this time, as well as a double
         fdget() fix reported by Dan Carpenter (Benjamin Tissoires)
      
       - fix for Cirque touchpad when they go on suspend (Kai-Heng Feng)
      
       - new device ID in hid-logitech-hidpp: "Logitech G Pro X SuperLight 2"
         (Jiri Kosina)
      
      * tag 'hid-for-linus-2024020101' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
        HID: bpf: use __bpf_kfunc instead of noinline
        HID: bpf: actually free hdev memory after attaching a HID-BPF program
        HID: bpf: remove double fdget()
        HID: i2c-hid-of: fix NULL-deref on failed power up
        HID: hidraw: fix a problem of memory leak in hidraw_release()
        HID: i2c-hid: Skip SET_POWER SLEEP for Cirque touchpad on system suspend
        HID: nvidia-shield: Add missing null pointer checks to LED initialization
        HID: logitech-hidpp: add support for Logitech G Pro X Superlight 2
        selftests/hid: wacom: fix confidence tests
        HID: hid-steam: Fix cleanup in probe()
        HID: hid-steam: remove pointless error message
      5c24e4e9
    • Linus Torvalds's avatar
      Merge tag 'firewire-fixes-6.8-rc3' of... · f6cdd897
      Linus Torvalds authored
      Merge tag 'firewire-fixes-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394
      
      Pull firewire fixes from Takashi Sakamoto:
       "FireWire subsystem now supports the legacy layout of configuration
        ROM, while it appears that some of DV devices in the early 2000's have
        the legacy layout with a quirk. This includes some changes to handle
        the quirk"
      
      * tag 'firewire-fixes-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
        firewire: core: search descriptor leaf just after vendor directory entry in root directory
        firewire: core: correct documentation of fw_csr_string() kernel API
      f6cdd897
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 6a864c09
      Linus Torvalds authored
      Pull spi fix from Mark Brown:
       "One simple fix for a minor but valid issue with constants overflowing
        identified via cppcheck"
      
      * tag 'spi-fix-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: sh-msiof: avoid integer overflow in constants
      6a864c09
    • Linus Torvalds's avatar
      Merge tag 'regulator-fix-v6.8-rc2' of... · 4b561d10
      Linus Torvalds authored
      Merge tag 'regulator-fix-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
      
      Pull regulator fixes from Mark Brown:
       "The main set of fixes here are for the PWM regulator, fixing
        bootstrapping issues on some platforms where the hardware setup looked
        like it was out of spec for the constraints we have for the regulator
        causing us to make spurious and unhelpful changes to try to bring
        things in line with the constraints.
      
        There's also a couple of other driver specific fixes"
      
      * tag 'regulator-fix-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator (max5970): Fix IRQ handler
        regulator: ti-abb: don't use devm_platform_ioremap_resource_byname for shared interrupt register
        regulator: pwm-regulator: Manage boot-on with disabled PWM channels
        regulator: pwm-regulator: Calculate the output voltage for disabled PWMs
        regulator: pwm-regulator: Add validity checks in continuous .get_voltage
      4b561d10
    • Linus Torvalds's avatar
      Merge tag 'v6.8-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 8a2514c0
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "Fix regressions in caam and qat"
      
      * tag 'v6.8-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: caam - fix asynchronous hash
        crypto: qat - fix arbiter mapping generation algorithm for QAT 402xx
      8a2514c0
    • Linus Torvalds's avatar
      Merge tag 'lsm-pr-20240131' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm · 6d805afa
      Linus Torvalds authored
      Pull lsm fixes from Paul Moore:
       "Two small patches to fix some problems relating to LSM hook return
        values and how the individual LSMs interact"
      
      * tag 'lsm-pr-20240131' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm:
        lsm: fix default return value of the socket_getpeersec_*() hooks
        lsm: fix the logic in security_inode_getsecctx()
      6d805afa
    • Jakub Kicinski's avatar
      Merge tag 'batadv-net-pullrequest-20240201' of git://git.open-mesh.org/linux-merge · 4e192be1
      Jakub Kicinski authored
      
      
      Simon Wunderlich says:
      
      ====================
      Here are some batman-adv bugfixes:
      
       - fix a timeout issue and a memory leak in batman-adv multicast,
         by Linus Lüssing (2 patches)
      
      * tag 'batadv-net-pullrequest-20240201' of git://git.open-mesh.org/linux-merge:
        batman-adv: mcast: fix memory leak on deleting a batman-adv interface
        batman-adv: mcast: fix mcast packet type counter on timeouted nodes
      ====================
      
      Link: https://lore.kernel.org/r/20240201110110.29129-1-sw@simonwunderlich.de
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      4e192be1
    • Donald Hunter's avatar
      doc/netlink/specs: Add missing attr in rt_link spec · 069a6ed2
      Donald Hunter authored
      IFLA_DPLL_PIN was added to rt_link messages but not to the spec, which
      breaks ynl. Add the missing definitions to the rt_link ynl spec.
      
      Fixes: 5f184269
      
       ("netdev: expose DPLL pin handle for netdevice")
      Signed-off-by: default avatarDonald Hunter <donald.hunter@gmail.com>
      Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
      Link: https://lore.kernel.org/r/20240201113853.37432-1-donald.hunter@gmail.com
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      069a6ed2
    • Jakub Kicinski's avatar
      Merge tag 'nf-24-01-31' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf · 93561eef
      Jakub Kicinski authored
      
      
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter fixes for net
      
      1) TCP conntrack now only evaluates window negotiation for packets in
         the REPLY direction, from Ryan Schaefer. Otherwise SYN retransmissions
         trigger incorrect window scale negotiation. From Ryan Schaefer.
      
      2) Restrict tunnel objects to NFPROTO_NETDEV which is where it makes sense
         to use this object type.
      
      3) Fix conntrack pick up from the middle of SCTP_CID_SHUTDOWN_ACK packets.
         From Xin Long.
      
      4) Another attempt from Jozsef Kadlecsik to address the slow down of the
         swap command in ipset.
      
      5) Replace a BUG_ON by WARN_ON_ONCE in nf_log, and consolidate check for
         the case that the logger is NULL from the read side lock section.
      
      6) Address lack of sanitization for custom expectations. Restrict layer 3
         and 4 families to what it is supported by userspace.
      
      * tag 'nf-24-01-31' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf:
        netfilter: nft_ct: sanitize layer 3 and 4 protocol number in custom expectations
        netfilter: nf_log: replace BUG_ON by WARN_ON_ONCE when putting logger
        netfilter: ipset: fix performance regression in swap operation
        netfilter: conntrack: check SCTP_CID_SHUTDOWN_ACK for vtag setting in sctp_new
        netfilter: nf_tables: restrict tunnel object to NFPROTO_NETDEV
        netfilter: conntrack: correct window scaling with retransmitted SYN
      ====================
      
      Link: https://lore.kernel.org/r/20240131225943.7536-1-pablo@netfilter.org
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      93561eef
    • Pavan Kumar Linga's avatar
      idpf: avoid compiler padding in virtchnl2_ptype struct · f0588b15
      Pavan Kumar Linga authored
      In the arm random config file, kconfig option 'CONFIG_AEABI' is
      disabled which results in adding the compiler flag '-mabi=apcs-gnu'.
      This causes the compiler to add padding in virtchnl2_ptype
      structure to align it to 8 bytes, resulting in the following
      size check failure:
      
      include/linux/build_bug.h:78:41: error: static assertion failed: "(6) == sizeof(struct virtchnl2_ptype)"
            78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
               |                                         ^~~~~~~~~~~~~~
      include/linux/build_bug.h:77:34: note: in expansion of macro '__static_assert'
            77 | #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
               |                                  ^~~~~~~~~~~~~~~
      drivers/net/ethernet/intel/idpf/virtchnl2.h:26:9: note: in expansion of macro 'static_assert'
            26 |         static_assert((n) == sizeof(struct X))
               |         ^~~~~~~~~~~~~
      drivers/net/ethernet/intel/idpf/virtchnl2.h:982:1: note: in expansion of macro 'VIRTCHNL2_CHECK_STRUCT_LEN'
           982 | VIRTCHNL2_CHECK_STRUCT_LEN(6, virtchnl2_ptype);
               | ^~~~~~~~~~~~~~~~~~~~~~~~~~
      
      Avoid the compiler padding by using "__packed" structure
      attribute for the virtchnl2_ptype struct. Also align the
      structure by using "__aligned(2)" for better code optimization.
      
      Fixes: 0d7502a9
      
       ("virtchnl: add virtchnl version 2 ops")
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Closes: https://lore.kernel.org/oe-kbuild-all/202312220250.ufEm8doQ-lkp@intel.com
      Reviewed-by: default avatarPrzemek Kitszel <przemyslaw.kitszel@intel.com>
      Reviewed-by: default avatarPaul Menzel <pmenzel@molgen.mpg.de>
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Signed-off-by: default avatarPavan Kumar Linga <pavan.kumar.linga@intel.com>
      Tested-by: default avatarKrishneil Singh <krishneil.k.singh@intel.com>
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      Link: https://lore.kernel.org/r/20240131222241.2087516-1-anthony.l.nguyen@intel.com
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f0588b15
    • Jakub Kicinski's avatar
      Merge branch 'mptcp-fixes-for-recent-issues-reported-by-ci-s' · 79144a81
      Jakub Kicinski authored
      
      
      Matthieu Baerts says:
      
      ====================
      mptcp: fixes for recent issues reported by CI's
      
      This series of 9 patches fixes issues mostly identified by CI's not
      managed by the MPTCP maintainers. Thank you Linero (LKFT) and Netdev
      maintainers (NIPA) for running our kunit and selftests tests!
      
      For the first patch, it took a bit of time to identify the root cause.
      Some MPTCP Join selftest subtests have been "flaky", mostly in slow
      environments. It appears to be due to the use of a TCP-specific helper
      on an MPTCP socket. A fix for kernels >= v5.15.
      
      Patches 2 to 4 add missing kernel config to support NetFilter tables
      needed for IPTables commands. These kconfigs are usually enabled in
      default configurations, but apparently not for all architectures.
      Patches 2 and 3 can be backported up to v5.11 and the 4th one up to
      v5.19.
      
      Patch 5 increases the time limit for MPTCP selftests. It appears that
      many CI's execute tests in a VM without acceleration supports, e.g. QEmu
      without KVM. As a result, the tests take longer. Plus, there are more
      and more tests. This patch modifies the timeout added in v5.18.
      
      Patch 6 reduces the maximum rate and delay of the different links in
      some Simult Flows selftest subtests. The goal is to let slow VMs reach
      the maximum speed. The original rate was introduced in v5.11.
      
      Patch 7 lets CI changing the prefix of the subtests titles, to be able
      to run the same selftest multiple times with different parameters. With
      different titles, tests will be considered as different and not override
      previous results as it is the case with some CI envs. Subtests have been
      introduced in v6.6.
      
      Patch 8 and 9 make some MPTCP Join selftest subtests quicker by stopping
      the transfer when the expected events have been seen. Patch 8 can be
      backported up to v6.5.
      
      Signed-off-by: default avatarMatthieu Baerts (NGI0) <matttbe@kernel.org>
      ====================
      
      Link: https://lore.kernel.org/r/20240131-upstream-net-20240131-mptcp-ci-issues-v1-0-4c1c11e571ff@kernel.org
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      79144a81
    • Matthieu Baerts (NGI0)'s avatar
      selftests: mptcp: join: stop transfer when check is done (part 2) · 04b57c9e
      Matthieu Baerts (NGI0) authored
      Since the "Fixes" commits mentioned below, the newly added "userspace
      pm" subtests of mptcp_join selftests are launching the whole transfer in
      the background, do the required checks, then wait for the end of
      transfer.
      
      There is no need to wait longer, especially because the checks at the
      end of the transfer are ignored (which is fine). This saves quite a few
      seconds on slow environments.
      
      While at it, use 'mptcp_lib_kill_wait()' helper everywhere, instead of
      on a specific one with 'kill_tests_wait()'.
      
      Fixes: b2e2248f ("selftests: mptcp: userspace pm create id 0 subflow")
      Fixes: e3b47e46 ("selftests: mptcp: userspace pm remove initial subflow")
      Fixes: b9fb1760
      
       ("selftests: mptcp: userspace pm send RM_ADDR for ID 0")
      Cc: stable@vger.kernel.org
      Reviewed-and-tested-by: default avatarGeliang Tang <geliang@kernel.org>
      Signed-off-by: default avatarMatthieu Baerts (NGI0) <matttbe@kernel.org>
      Link: https://lore.kernel.org/r/20240131-upstream-net-20240131-mptcp-ci-issues-v1-9-4c1c11e571ff@kernel.org
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      04b57c9e