1. 10 Dec, 2020 23 commits
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-5.10-3' of git://git.linux-nfs.org/projects/anna/linux-nfs · 6840a3dc
      Linus Torvalds authored
      Pull NFS client fixes from Anna Schumaker:
       "Here are a handful more bugfixes for 5.10.
      
        Unfortunately, we found some problems with the new READ_PLUS operation
        that aren't easy to fix. We've decided to disable this codepath
        through a Kconfig option for now, but a series of patches going into
        5.11 will clean up the code and fix the issues at the same time. This
        seemed like the best way to go about it.
      
        Summary:
      
         - Fix array overflow when flexfiles mirroring is enabled
      
         - Fix rpcrdma_inline_fixup() crash with new LISTXATTRS
      
         - Fix 5 second delay when doing inter-server copy
      
         - Disable READ_PLUS by default"
      
      * tag 'nfs-for-5.10-3' of git://git.linux-nfs.org/projects/anna/linux-nfs:
        NFS: Disable READ_PLUS by default
        NFSv4.2: Fix 5 seconds delay when doing inter server copy
        NFS: Fix rpcrdma_inline_fixup() crash with new LISTXATTRS operation
        pNFS/flexfiles: Fix array overflow when flexfiles mirroring is enabled
      6840a3dc
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 4d31058b
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) IPsec compat fixes, from Dmitry Safonov.
      
       2) Fix memory leak in xfrm_user_policy(). Fix from Yu Kuai.
      
       3) Fix polling in xsk sockets by using sk_poll_wait() instead of
          datagram_poll() which keys off of sk_wmem_alloc and such which xsk
          sockets do not update. From Xuan Zhuo.
      
       4) Missing init of rekey_data in cfgh80211, from Sara Sharon.
      
       5) Fix destroy of timer before init, from Davide Caratti.
      
       6) Missing CRYPTO_CRC32 selects in ethernet driver Kconfigs, from Arnd
          Bergmann.
      
       7) Missing error return in rtm_to_fib_config() switch case, from Zhang
          Changzhong.
      
       8) Fix some src/dest address handling in vrf and add a testcase. From
          Stephen Suryaputra.
      
       9) Fix multicast handling in Seville switches driven by mscc-ocelot
          driver. From Vladimir Oltean.
      
      10) Fix proto value passed to skb delivery demux in udp, from Xin Long.
      
      11) HW pkt counters not reported correctly in enetc driver, from Claudiu
          Manoil.
      
      12) Fix deadlock in bridge, from Joseph Huang.
      
      13) Missing of_node_pur() in dpaa2 driver, fromn Christophe JAILLET.
      
      14) Fix pid fetching in bpftool when there are a lot of results, from
          Andrii Nakryiko.
      
      15) Fix long timeouts in nft_dynset, from Pablo Neira Ayuso.
      
      16) Various stymmac fixes, from Fugang Duan.
      
      17) Fix null deref in tipc, from Cengiz Can.
      
      18) When mss is biog, coose more resonable rcvq_space in tcp, fromn Eric
          Dumazet.
      
      19) Revert a geneve change that likely isnt necessary, from Jakub
          Kicinski.
      
      20) Avoid premature rx buffer reuse in various Intel driversm from Björn
          Töpel.
      
      21) retain EcT bits during TIS reflection in tcp, from Wei Wang.
      
      22) Fix Tso deferral wrt. cwnd limiting in tcp, from Neal Cardwell.
      
      23) MPLS_OPT_LSE_LABEL attribute is 342 ot 8 bits, from Guillaume Nault
      
      24) Fix propagation of 32-bit signed bounds in bpf verifier and add test
          cases, from Alexei Starovoitov.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (81 commits)
        selftests: fix poll error in udpgro.sh
        selftests/bpf: Fix "dubious pointer arithmetic" test
        selftests/bpf: Fix array access with signed variable test
        selftests/bpf: Add test for signed 32-bit bound check bug
        bpf: Fix propagation of 32-bit signed bounds from 64-bit bounds.
        MAINTAINERS: Add entry for Marvell Prestera Ethernet Switch driver
        net: sched: Fix dump of MPLS_OPT_LSE_LABEL attribute in cls_flower
        net/mlx4_en: Handle TX error CQE
        net/mlx4_en: Avoid scheduling restart task if it is already running
        tcp: fix cwnd-limited bug for TSO deferral where we send nothing
        net: flow_offload: Fix memory leak for indirect flow block
        tcp: Retain ECT bits for tos reflection
        ethtool: fix stack overflow in ethnl_parse_bitset()
        e1000e: fix S0ix flow to allow S0i3.2 subset entry
        ice: avoid premature Rx buffer reuse
        ixgbe: avoid premature Rx buffer reuse
        i40e: avoid premature Rx buffer reuse
        igb: avoid transmit queue timeout in xdp path
        igb: use xdp_do_flush
        igb: skb add metasize for xdp
        ...
      4d31058b
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf · d9838b1d
      David S. Miller authored
      Alexei Starovoitov says:
      
      ====================
      pull-request: bpf 2020-12-10
      
      The following pull-request contains BPF updates for your *net* tree.
      
      We've added 21 non-merge commits during the last 12 day(s) which contain
      a total of 21 files changed, 163 insertions(+), 88 deletions(-).
      
      The main changes are:
      
      1) Fix propagation of 32-bit signed bounds from 64-bit bounds, from Alexei.
      
      2) Fix ring_buffer__poll() return value, from Andrii.
      
      3) Fix race in lwt_bpf, from Cong.
      
      4) Fix test_offload, from Toke.
      
      5) Various xsk fixes.
      
      Please consider pulling these changes from:
      
        git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git
      
      Thanks a lot!
      
      Also thanks to reporters, reviewers and testers of commits in this pull-request:
      
      Cong Wang, Hulk Robot, Jakub Kicinski, Jean-Philippe Brucker, John
      Fastabend, Magnus Karlsson, Maxim Mikityanskiy, Yonghong Song
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d9838b1d
    • Anna Schumaker's avatar
      NFS: Disable READ_PLUS by default · 21e31401
      Anna Schumaker authored
      We've been seeing failures with xfstests generic/091 and generic/263
      when using READ_PLUS. I've made some progress on these issues, and the
      tests fail later on but still don't pass. Let's disable READ_PLUS by
      default until we can work out what is going on.
      Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
      21e31401
    • Dai Ngo's avatar
      NFSv4.2: Fix 5 seconds delay when doing inter server copy · fe8eb820
      Dai Ngo authored
      Since commit b4868b44 ("NFSv4: Wait for stateid updates after
      CLOSE/OPEN_DOWNGRADE"), every inter server copy operation suffers 5
      seconds delay regardless of the size of the copy. The delay is from
      nfs_set_open_stateid_locked when the check by nfs_stateid_is_sequential
      fails because the seqid in both nfs4_state and nfs4_stateid are 0.
      
      Fix __nfs42_ssc_open to delay setting of NFS_OPEN_STATE in nfs4_state,
      until after the call to update_open_stateid, to indicate this is the 1st
      open. This fix is part of a 2 patches, the other patch is the fix in the
      source server to return the stateid for COPY_NOTIFY request with seqid 1
      instead of 0.
      
      Fixes: ce0887ac ("NFSD add nfs4 inter ssc to nfsd4_copy")
      Signed-off-by: default avatarDai Ngo <dai.ngo@oracle.com>
      Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
      fe8eb820
    • Chuck Lever's avatar
      NFS: Fix rpcrdma_inline_fixup() crash with new LISTXATTRS operation · 1c87b851
      Chuck Lever authored
      By switching to an XFS-backed export, I am able to reproduce the
      ibcomp worker crash on my client with xfstests generic/013.
      
      For the failing LISTXATTRS operation, xdr_inline_pages() is called
      with page_len=12 and buflen=128.
      
      - When ->send_request() is called, rpcrdma_marshal_req() does not
        set up a Reply chunk because buflen is smaller than the inline
        threshold. Thus rpcrdma_convert_iovs() does not get invoked at
        all and the transport's XDRBUF_SPARSE_PAGES logic is not invoked
        on the receive buffer.
      
      - During reply processing, rpcrdma_inline_fixup() tries to copy
        received data into rq_rcv_buf->pages because page_len is positive.
        But there are no receive pages because rpcrdma_marshal_req() never
        allocated them.
      
      The result is that the ibcomp worker faults and dies. Sometimes that
      causes a visible crash, and sometimes it results in a transport hang
      without other symptoms.
      
      RPC/RDMA's XDRBUF_SPARSE_PAGES support is not entirely correct, and
      should eventually be fixed or replaced. However, my preference is
      that upper-layer operations should explicitly allocate their receive
      buffers (using GFP_KERNEL) when possible, rather than relying on
      XDRBUF_SPARSE_PAGES.
      Reported-by: default avatarOlga kornievskaia <kolga@netapp.com>
      Suggested-by: default avatarOlga kornievskaia <kolga@netapp.com>
      Fixes: c10a7514 ("NFSv4.2: add the extended attribute proc functions.")
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      Reviewed-by: default avatarOlga kornievskaia <kolga@netapp.com>
      Reviewed-by: default avatarFrank van der Linden <fllinden@amazon.com>
      Tested-by: default avatarOlga kornievskaia <kolga@netapp.com>
      Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
      1c87b851
    • Paolo Abeni's avatar
      selftests: fix poll error in udpgro.sh · 38bf8cd8
      Paolo Abeni authored
      The test program udpgso_bench_rx always invokes the poll()
      syscall with a timeout of 10ms. If a larger timeout is specified
      via the command line, udpgso_bench_rx is supposed to do multiple
      poll() calls till the timeout is expired or an event is received.
      
      Currently the poll() loop errors out after the first invocation with
      no events, and may causes self-tests failure alike:
      
      failed
       GRO with custom segment size            ./udpgso_bench_rx: poll: 0x0 expected 0x1
      
      This change addresses the issue allowing the poll() loop to consume
      all the configured timeout.
      
      Fixes: ada641ff ("selftests: fixes for UDP GRO")
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      38bf8cd8
    • Jean-Philippe Brucker's avatar
      selftests/bpf: Fix "dubious pointer arithmetic" test · 3615bdf6
      Jean-Philippe Brucker authored
      The verifier trace changed following a bugfix. After checking the 64-bit
      sign, only the upper bit mask is known, not bit 31. Update the test
      accordingly.
      Signed-off-by: default avatarJean-Philippe Brucker <jean-philippe@linaro.org>
      Acked-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      3615bdf6
    • Jean-Philippe Brucker's avatar
      selftests/bpf: Fix array access with signed variable test · 77ce220c
      Jean-Philippe Brucker authored
      The test fails because of a recent fix to the verifier, even though this
      program is valid. In details what happens is:
      
          7: (61) r1 = *(u32 *)(r0 +0)
      
      Load a 32-bit value, with signed bounds [S32_MIN, S32_MAX]. The bounds
      of the 64-bit value are [0, U32_MAX]...
      
          8: (65) if r1 s> 0xffffffff goto pc+1
      
      ... therefore this is always true (the operand is sign-extended).
      
          10: (b4) w2 = 11
          11: (6d) if r2 s> r1 goto pc+1
      
      When true, the 64-bit bounds become [0, 10]. The 32-bit bounds are still
      [S32_MIN, 10].
      
          13: (64) w1 <<= 2
      
      Because this is a 32-bit operation, the verifier propagates the new
      32-bit bounds to the 64-bit ones, and the knowledge gained from insn 11
      is lost.
      
          14: (0f) r0 += r1
          15: (7a) *(u64 *)(r0 +0) = 4
      
      Then the verifier considers r0 unbounded here, rejecting the test. To
      make the test work, change insn 8 to check the sign of the 32-bit value.
      Signed-off-by: default avatarJean-Philippe Brucker <jean-philippe@linaro.org>
      Acked-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      77ce220c
    • Jean-Philippe Brucker's avatar
      selftests/bpf: Add test for signed 32-bit bound check bug · 511a76bc
      Jean-Philippe Brucker authored
      After a 32-bit load followed by a branch, the verifier would reduce the
      maximum bound of the register to 0x7fffffff, allowing a user to bypass
      bound checks. Ensure such a program is rejected.
      
      In the second test, the 64-bit compare should not sufficient to
      determine whether the signed 32-bit lower bound is 0, so the verifier
      should reject the second branch.
      Signed-off-by: default avatarJean-Philippe Brucker <jean-philippe@linaro.org>
      Acked-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      511a76bc
    • Alexei Starovoitov's avatar
      bpf: Fix propagation of 32-bit signed bounds from 64-bit bounds. · b0270958
      Alexei Starovoitov authored
      The 64-bit signed bounds should not affect 32-bit signed bounds unless the
      verifier knows that upper 32-bits are either all 1s or all 0s. For example the
      register with smin_value==1 doesn't mean that s32_min_value is also equal to 1,
      since smax_value could be larger than 32-bit subregister can hold.
      The verifier refines the smax/s32_max return value from certain helpers in
      do_refine_retval_range(). Teach the verifier to recognize that smin/s32_min
      value is also bounded. When both smin and smax bounds fit into 32-bit
      subregister the verifier can propagate those bounds.
      
      Fixes: 3f50f132 ("bpf: Verifier, do explicit ALU32 bounds tracking")
      Reported-by: default avatarJean-Philippe Brucker <jean-philippe@linaro.org>
      Acked-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      b0270958
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 9fca90cf
      Linus Torvalds authored
      Pull rdma fixes from Jason Gunthorpe:
       "Two user triggerable crashers and a some EFA related regressions:
      
         - Syzkaller found a bug in CM
      
         - Restore access to the GID table and fix modify_qp for EFA
      
         - Crasher in qedr"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait
        RDMA/core: Fix empty gid table for non IB/RoCE devices
        RDMA/efa: Use the correct current and new states in modify QP
        RDMA/qedr: iWARP invalid(zero) doorbell address fix
      9fca90cf
    • Linus Torvalds's avatar
      Merge tag 'media/v5.10-4' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 40201575
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
       "A couple of fixes:
      
         - videobuf2: fix a DMABUF bug, preventing it to properly handle cache
           sync/flush
      
         - vidtv: an usage after free and a few sparse/smatch warning fixes
      
         - pulse8-cec: a duplicate free and a bug related to new firmware
           usage
      
         - mtk-cir: fix a regression on a clock setting"
      
      * tag 'media/v5.10-4' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        media: vidtv: fix some warnings
        media: vidtv: fix kernel-doc markups
        media: [next] media: vidtv: fix a read from an object after it has been freed
        media: vb2: set cache sync hints when init buffers
        media: pulse8-cec: add support for FW v10 and up
        media: pulse8-cec: fix duplicate free at disconnect or probe error
        media: mtk-cir: fix calculation of chk period
      40201575
    • Mickey Rachamim's avatar
      MAINTAINERS: Add entry for Marvell Prestera Ethernet Switch driver · 177745be
      Mickey Rachamim authored
      Add maintainers info for new Marvell Prestera Ethernet switch driver.
      Signed-off-by: default avatarMickey Rachamim <mickeyr@marvell.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      177745be
    • Guillaume Nault's avatar
      net: sched: Fix dump of MPLS_OPT_LSE_LABEL attribute in cls_flower · 7fdd375e
      Guillaume Nault authored
      TCA_FLOWER_KEY_MPLS_OPT_LSE_LABEL is a u32 attribute (MPLS label is
      20 bits long).
      
      Fixes the following bug:
      
       $ tc filter add dev ethX ingress protocol mpls_uc \
           flower mpls lse depth 2 label 256             \
           action drop
      
       $ tc filter show dev ethX ingress
         filter protocol mpls_uc pref 49152 flower chain 0
         filter protocol mpls_uc pref 49152 flower chain 0 handle 0x1
           eth_type 8847
           mpls
             lse depth 2 label 0  <-- invalid label 0, should be 256
         ...
      
      Fixes: 61aec25a ("cls_flower: Support filtering on multiple MPLS Label Stack Entries")
      Signed-off-by: default avatarGuillaume Nault <gnault@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7fdd375e
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf · b7e4ba9a
      David S. Miller authored
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter fixes for net
      
      The following patchset contains Netfilter fixes for net:
      
      1) Switch to RCU in x_tables to fix possible NULL pointer dereference,
         from Subash Abhinov Kasiviswanathan.
      
      2) Fix netlink dump of dynset timeouts later than 23 days.
      
      3) Add comment for the indirect serialization of the nft commit mutex
         with rtnl_mutex.
      
      4) Remove bogus check for confirmed conntrack when matching on the
         conntrack ID, from Brett Mastbergen.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b7e4ba9a
    • David S. Miller's avatar
      Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue · 88287773
      David S. Miller authored
      Tony Nguyen says:
      
      ====================
      Intel Wired LAN Driver Updates 2020-12-09
      
      This series contains updates to igb, ixgbe, i40e, and ice drivers.
      
      Sven Auhagen fixes issues with igb XDP: return correct error value in XDP
      xmit back, increase header padding to include space for double VLAN, add
      an extack error when Rx buffer is too small for frame size, set metasize if
      it is set in xdp, change xdp_do_flush_map to xdp_do_flush, and update
      trans_start to avoid possible Tx timeout.
      
      Björn fixes an issue where an Rx buffer can be reused prematurely with
      XDP redirect for ixgbe, i40e, and ice drivers.
      
      The following are changes since commit 323a391a:
        can: isotp: isotp_setsockopt(): block setsockopt on bound sockets
      and are available in the git repository at:
        git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue 1GbE
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      88287773
    • David S. Miller's avatar
      Merge branch 'mlx4_en-fixes' · 9a25a30e
      David S. Miller authored
      Tariq Toukan says:
      
      ====================
      mlx4_en fixes
      
      This patchset by Moshe contains fixes to the mlx4 Eth driver,
      addressing issues in restart flow.
      
      Patch 1 protects the restart task from being rescheduled while active.
        Please queue for -stable >= v2.6.
      Patch 2 reconstructs SQs stuck in error state, and adds prints for improved
        debuggability.
        Please queue for -stable >= v3.12.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9a25a30e
    • Moshe Shemesh's avatar
      net/mlx4_en: Handle TX error CQE · ba603d9d
      Moshe Shemesh authored
      In case error CQE was found while polling TX CQ, the QP is in error
      state and all posted WQEs will generate error CQEs without any data
      transmitted. Fix it by reopening the channels, via same method used for
      TX timeout handling.
      
      In addition add some more info on error CQE and WQE for debug.
      
      Fixes: bd2f631d ("net/mlx4_en: Notify user when TX ring in error state")
      Signed-off-by: default avatarMoshe Shemesh <moshe@mellanox.com>
      Signed-off-by: default avatarTariq Toukan <tariqt@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ba603d9d
    • Moshe Shemesh's avatar
      net/mlx4_en: Avoid scheduling restart task if it is already running · fed91613
      Moshe Shemesh authored
      Add restarting state flag to avoid scheduling another restart task while
      such task is already running. Change task name from watchdog_task to
      restart_task to better fit the task role.
      
      Fixes: 1e338db5 ("mlx4_en: Fix a race at restart task")
      Signed-off-by: default avatarMoshe Shemesh <moshe@mellanox.com>
      Signed-off-by: default avatarTariq Toukan <tariqt@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fed91613
    • Neal Cardwell's avatar
      tcp: fix cwnd-limited bug for TSO deferral where we send nothing · 299bcb55
      Neal Cardwell authored
      When cwnd is not a multiple of the TSO skb size of N*MSS, we can get
      into persistent scenarios where we have the following sequence:
      
      (1) ACK for full-sized skb of N*MSS arrives
        -> tcp_write_xmit() transmit full-sized skb with N*MSS
        -> move pacing release time forward
        -> exit tcp_write_xmit() because pacing time is in the future
      
      (2) TSQ callback or TCP internal pacing timer fires
        -> try to transmit next skb, but TSO deferral finds remainder of
           available cwnd is not big enough to trigger an immediate send
           now, so we defer sending until the next ACK.
      
      (3) repeat...
      
      So we can get into a case where we never mark ourselves as
      cwnd-limited for many seconds at a time, even with
      bulk/infinite-backlog senders, because:
      
      o In case (1) above, every time in tcp_write_xmit() we have enough
      cwnd to send a full-sized skb, we are not fully using the cwnd
      (because cwnd is not a multiple of the TSO skb size). So every time we
      send data, we are not cwnd limited, and so in the cwnd-limited
      tracking code in tcp_cwnd_validate() we mark ourselves as not
      cwnd-limited.
      
      o In case (2) above, every time in tcp_write_xmit() that we try to
      transmit the "remainder" of the cwnd but defer, we set the local
      variable is_cwnd_limited to true, but we do not send any packets, so
      sent_pkts is zero, so we don't call the cwnd-limited logic to update
      tp->is_cwnd_limited.
      
      Fixes: ca8a2263 ("tcp: make cwnd-limited checks measurement-based, and gentler")
      Reported-by: default avatarIngemar Johansson <ingemar.s.johansson@ericsson.com>
      Signed-off-by: default avatarNeal Cardwell <ncardwell@google.com>
      Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
      Acked-by: default avatarSoheil Hassas Yeganeh <soheil@google.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Link: https://lore.kernel.org/r/20201209035759.1225145-1-ncardwell.kernel@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      299bcb55
    • Chris Mi's avatar
      net: flow_offload: Fix memory leak for indirect flow block · 5137d303
      Chris Mi authored
      The offending commit introduces a cleanup callback that is invoked
      when the driver module is removed to clean up the tunnel device
      flow block. But it returns on the first iteration of the for loop.
      The remaining indirect flow blocks will never be freed.
      
      Fixes: 1fac52da ("net: flow_offload: consolidate indirect flow_block infrastructure")
      CC: Pablo Neira Ayuso <pablo@netfilter.org>
      Signed-off-by: default avatarChris Mi <cmi@nvidia.com>
      Reviewed-by: default avatarRoi Dayan <roid@nvidia.com>
      5137d303
    • Wei Wang's avatar
      tcp: Retain ECT bits for tos reflection · 8ef44b6f
      Wei Wang authored
      For DCTCP, we have to retain the ECT bits set by the congestion control
      algorithm on the socket when reflecting syn TOS in syn-ack, in order to
      make ECN work properly.
      
      Fixes: ac8f1710 ("tcp: reflect tos value received in SYN to the socket")
      Reported-by: default avatarAlexander Duyck <alexanderduyck@fb.com>
      Signed-off-by: default avatarWei Wang <weiwan@google.com>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8ef44b6f
  2. 09 Dec, 2020 17 commits