diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2020-10-29 12:55:02 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2020-10-29 12:55:02 -0700 | 
| commit | 934291ffb638f2785cc9587403df4895f5c838ac (patch) | |
| tree | 0a6d771124ca311c449b9c2af64f5b71f0689eef /net/ipv4/tcp_input.c | |
| parent | b9c0f4bd5b8114ee1773734e07cda921b6e8248b (diff) | |
| parent | 2734a24e6e5d18522fbf599135c59b82ec9b2c9e (diff) | |
Merge tag 'net-5.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from Jakub Kicinski:
 "Current release regressions:
   - r8169: fix forced threading conflicting with other shared
     interrupts; we tried to fix the use of raise_softirq_irqoff from an
     IRQ handler on RT by forcing hard irqs, but this driver shares
     legacy PCI IRQs so drop the _irqoff() instead
   - tipc: fix memory leak caused by a recent syzbot report fix to
     tipc_buf_append()
  Current release - bugs in new features:
   - devlink: Unlock on error in dumpit() and fix some error codes
   - net/smc: fix null pointer dereference in smc_listen_decline()
  Previous release - regressions:
   - tcp: Prevent low rmem stalls with SO_RCVLOWAT.
   - net: protect tcf_block_unbind with block lock
   - ibmveth: Fix use of ibmveth in a bridge; the self-imposed filtering
     to only send legal frames to the hypervisor was too strict
   - net: hns3: Clear the CMDQ registers before unmapping BAR region;
     incorrect cleanup order was leading to a crash
   - bnxt_en - handful of fixes to fixes:
      - Send HWRM_FUNC_RESET fw command unconditionally, even if there
        are PCIe errors being reported
      - Check abort error state in bnxt_open_nic().
      - Invoke cancel_delayed_work_sync() for PFs also.
      - Fix regression in workqueue cleanup logic in bnxt_remove_one().
   - mlxsw: Only advertise link modes supported by both driver and
     device, after removal of 56G support from the driver 56G was not
     cleared from advertised modes
   - net/smc: fix suppressed return code
  Previous release - always broken:
   - netem: fix zero division in tabledist, caused by integer overflow
   - bnxt_en: Re-write PCI BARs after PCI fatal error.
   - cxgb4: set up filter action after rewrites
   - net: ipa: command payloads already mapped
  Misc:
   - s390/ism: fix incorrect system EID, it's okay to change since it
     was added in current release
   - vsock: use ns_capable_noaudit() on socket create to suppress false
     positive audit messages"
* tag 'net-5.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (36 commits)
  r8169: fix issue with forced threading in combination with shared interrupts
  netem: fix zero division in tabledist
  ibmvnic: fix ibmvnic_set_mac
  mptcp: add missing memory scheduling in the rx path
  tipc: fix memory leak caused by tipc_buf_append()
  gtp: fix an use-before-init in gtp_newlink()
  net: protect tcf_block_unbind with block lock
  ibmveth: Fix use of ibmveth in a bridge.
  net/sched: act_mpls: Add softdep on mpls_gso.ko
  ravb: Fix bit fields checking in ravb_hwtstamp_get()
  devlink: Unlock on error in dumpit()
  devlink: Fix some error codes
  chelsio/chtls: fix memory leaks in CPL handlers
  chelsio/chtls: fix deadlock issue
  net: hns3: Clear the CMDQ registers before unmapping BAR region
  bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally.
  bnxt_en: Check abort error state in bnxt_open_nic().
  bnxt_en: Re-write PCI BARs after PCI fatal error.
  bnxt_en: Invoke cancel_delayed_work_sync() for PFs also.
  bnxt_en: Fix regression in workqueue cleanup logic in bnxt_remove_one().
  ...
Diffstat (limited to 'net/ipv4/tcp_input.c')
| -rw-r--r-- | net/ipv4/tcp_input.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index fc445833b5e5..389d1b340248 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -4908,7 +4908,8 @@ void tcp_data_ready(struct sock *sk)  	int avail = tp->rcv_nxt - tp->copied_seq;  	if (avail < sk->sk_rcvlowat && !tcp_rmem_pressure(sk) && -	    !sock_flag(sk, SOCK_DONE)) +	    !sock_flag(sk, SOCK_DONE) && +	    tcp_receive_window(tp) > inet_csk(sk)->icsk_ack.rcv_mss)  		return;  	sk->sk_data_ready(sk);  | 
