From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Eric Dumazet <edumazet@google.com>,
Menglong Dong <imagedong@tencent.com>,
Neal Cardwell <ncardwell@google.com>,
Jason Xing <kerneljasonxing@gmail.com>,
Jakub Kicinski <kuba@kernel.org>
Subject: [PATCH 6.6 053/121] tcp: use signed arithmetic in tcp_rtx_probe0_timed_out()
Date: Tue, 16 Jul 2024 17:31:55 +0200 [thread overview]
Message-ID: <20240716152753.361732167@linuxfoundation.org> (raw)
In-Reply-To: <20240716152751.312512071@linuxfoundation.org>
6.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Eric Dumazet <edumazet@google.com>
commit 36534d3c54537bf098224a32dc31397793d4594d upstream.
Due to timer wheel implementation, a timer will usually fire
after its schedule.
For instance, for HZ=1000, a timeout between 512ms and 4s
has a granularity of 64ms.
For this range of values, the extra delay could be up to 63ms.
For TCP, this means that tp->rcv_tstamp may be after
inet_csk(sk)->icsk_timeout whenever the timer interrupt
finally triggers, if one packet came during the extra delay.
We need to make sure tcp_rtx_probe0_timed_out() handles this case.
Fixes: e89688e3e978 ("net: tcp: fix unexcepted socket die when snd_wnd is 0")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Menglong Dong <imagedong@tencent.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Reviewed-by: Jason Xing <kerneljasonxing@gmail.com>
Link: https://lore.kernel.org/r/20240607125652.1472540-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
net/ipv4/tcp_timer.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
--- a/net/ipv4/tcp_timer.c
+++ b/net/ipv4/tcp_timer.c
@@ -459,8 +459,13 @@ static bool tcp_rtx_probe0_timed_out(con
{
const struct tcp_sock *tp = tcp_sk(sk);
const int timeout = TCP_RTO_MAX * 2;
- u32 rcv_delta, rtx_delta;
+ u32 rtx_delta;
+ s32 rcv_delta;
+ /* Note: timer interrupt might have been delayed by at least one jiffy,
+ * and tp->rcv_tstamp might very well have been written recently.
+ * rcv_delta can thus be negative.
+ */
rcv_delta = inet_csk(sk)->icsk_timeout - tp->rcv_tstamp;
if (rcv_delta <= timeout)
return false;
next prev parent reply other threads:[~2024-07-16 16:03 UTC|newest]
Thread overview: 127+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-16 15:31 [PATCH 6.6 000/121] 6.6.41-rc1 review Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 001/121] mm: prevent derefencing NULL ptr in pfn_section_valid() Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 002/121] scsi: ufs: core: Fix ufshcd_clear_cmd racing issue Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 003/121] scsi: ufs: core: Fix ufshcd_abort_one " Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 004/121] vfio/pci: Init the count variable in collecting hot-reset devices Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 005/121] cachefiles: propagate errors from vfs_getxattr() to avoid infinite loop Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 006/121] cachefiles: narrow the scope of triggering EPOLLIN events in ondemand mode Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 007/121] cachefiles: stop sending new request when dropping object Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 008/121] cachefiles: cancel all requests for the object that is being dropped Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 009/121] cachefiles: wait for ondemand_object_worker to finish when dropping object Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 010/121] cachefiles: cyclic allocation of msg_id to avoid reuse Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 011/121] cachefiles: add missing lock protection when polling Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 012/121] net: dsa: introduce dsa_phylink_to_port() Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 013/121] dsa: lan9303: Fix mapping between DSA port number and PHY address Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 014/121] filelock: fix potential use-after-free in posix_lock_inode Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 015/121] fs/dcache: Re-use value stored to dentry->d_flags instead of re-reading Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 016/121] vfs: dont mod negative dentry count when on shrinker list Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 017/121] net: bcmasp: Fix error code in probe() Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 018/121] tcp: fix incorrect undo caused by DSACK of TLP retransmit Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 019/121] bpf: Fix too early release of tcx_entry Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 020/121] net: phy: microchip: lan87xx: reinit PHY after cable test Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 021/121] skmsg: Skip zero length skb in sk_msg_recvmsg Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 022/121] octeontx2-af: Fix incorrect value output on error path in rvu_check_rsrc_availability() Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 023/121] net: fix rc7s __skb_datagram_iter() Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 024/121] i40e: Fix XDP program unloading while removing the driver Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 025/121] net: ethernet: lantiq_etop: fix double free in detach Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 026/121] bpf: fix order of args in call to bpf_map_kvcalloc Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 027/121] bpf: make timer data struct more generic Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 028/121] bpf: replace bpf_timer_init with a generic helper Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 029/121] bpf: Fail bpf_timer_cancel when callback is being cancelled Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 030/121] net: ethernet: mtk-star-emac: set mac_managed_pm when probing Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 031/121] ppp: reject claimed-as-LCP but actually malformed packets Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 032/121] ethtool: netlink: do not return SQI value if link is down Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 033/121] udp: Set SOCK_RCU_FREE earlier in udp_lib_get_port() Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 034/121] net/sched: Fix UAF when resolving a clash Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 035/121] net, sunrpc: Remap EPERM in case of connection failure in xs_tcp_setup_socket Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 036/121] s390: Mark psw in __load_psw_mask() as __unitialized Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 037/121] arm64: dts: qcom: sc8180x: Fix LLCC reg property again Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 038/121] firmware: cs_dsp: Fix overflow checking of wmfw header Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 039/121] firmware: cs_dsp: Return error if block header overflows file Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 040/121] firmware: cs_dsp: Validate payload length before processing block Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 041/121] firmware: cs_dsp: Prevent buffer overrun when processing V2 alg headers Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 042/121] ASoC: SOF: Intel: hda: fix null deref on system suspend entry Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 043/121] firmware: cs_dsp: Use strnlen() on name fields in V1 wmfw files Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 044/121] ARM: davinci: Convert comma to semicolon Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 045/121] i40e: fix: remove needless retries of NVM update Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 046/121] octeontx2-af: replace cpt slot with lf id on reg write Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 047/121] octeontx2-af: fix a issue with cpt_lf_alloc mailbox Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 048/121] octeontx2-af: fix detection of IP layer Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 049/121] octeontx2-af: fix issue with IPv6 ext match for RSS Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 050/121] octeontx2-af: fix issue with IPv4 " Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 051/121] cifs: fix setting SecurityFlags to true Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 052/121] Revert "sched/fair: Make sure to try to detach at least one movable task" Greg Kroah-Hartman
2024-07-16 15:31 ` Greg Kroah-Hartman [this message]
2024-07-16 15:31 ` [PATCH 6.6 054/121] tcp: avoid too many retransmit packets Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 055/121] net: ks8851: Fix deadlock with the SPI chip variant Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 056/121] net: ks8851: Fix potential TX stall after interface reopen Greg Kroah-Hartman
2024-07-16 15:31 ` [PATCH 6.6 057/121] USB: serial: option: add Telit generic core-dump composition Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 058/121] USB: serial: option: add Telit FN912 rmnet compositions Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 059/121] USB: serial: option: add Fibocom FM350-GL Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 060/121] USB: serial: option: add support for Foxconn T99W651 Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 061/121] USB: serial: option: add Netprisma LCUK54 series modules Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 062/121] USB: serial: option: add Rolling RW350-GL variants Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 063/121] USB: serial: mos7840: fix crash on resume Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 064/121] USB: Add USB_QUIRK_NO_SET_INTF quirk for START BP-850k Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 065/121] usb: dwc3: pci: add support for the Intel Panther Lake Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 066/121] usb: gadget: configfs: Prevent OOB read/write in usb_string_copy() Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 067/121] USB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 068/121] misc: microchip: pci1xxxx: Fix return value of nvmem callbacks Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 069/121] hpet: Support 32-bit userspace Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 070/121] xhci: always resume roothubs if xHC was reset during resume Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 071/121] s390/mm: Add NULL pointer check to crst_table_free() base_crst_free() Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 072/121] mm: vmalloc: check if a hash-index is in cpu_possible_mask Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 073/121] mm/filemap: skip to create PMD-sized page cache if needed Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 074/121] mm/filemap: make MAX_PAGECACHE_ORDER acceptable to xarray Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 075/121] ksmbd: discard write access to the directory open Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 076/121] iio: trigger: Fix condition for own trigger Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 077/121] arm64: dts: qcom: sa8775p: Correct IRQ number of EL2 non-secure physical timer Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 078/121] arm64: dts: qcom: sc8280xp-x13s: fix touchscreen power on Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 079/121] nvmem: rmem: Fix return value of rmem_read() Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 080/121] nvmem: meson-efuse: Fix return value of nvmem callbacks Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 081/121] nvmem: core: only change name to fram for current attribute Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 082/121] platform/x86: toshiba_acpi: Fix array out-of-bounds access Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 083/121] tty: serial: ma35d1: Add a NULL check for of_node Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 084/121] ALSA: hda/realtek: add quirk for Clevo V5[46]0TU Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 085/121] ALSA: hda/realtek: Enable Mute LED on HP 250 G7 Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 086/121] ALSA: hda/realtek: Limit mic boost on VAIO PRO PX Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 087/121] Fix userfaultfd_api to return EINVAL as expected Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 088/121] pmdomain: qcom: rpmhpd: Skip retention level for Power Domains Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 089/121] libceph: fix race between delayed_work() and ceph_monc_stop() Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 090/121] ACPI: processor_idle: Fix invalid comparison with insertion sort for latency Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 091/121] cpufreq: ACPI: Mark boost policy as enabled when setting boost Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 092/121] cpufreq: Allow drivers to advertise boost enabled Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 093/121] wireguard: selftests: use acpi=off instead of -no-acpi for recent QEMU Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 094/121] wireguard: allowedips: avoid unaligned 64-bit memory accesses Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 095/121] wireguard: queueing: annotate intentional data race in cpu round robin Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 096/121] wireguard: send: annotate intentional data race in checking empty queue Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 097/121] misc: fastrpc: Fix DSP capabilities request Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 098/121] misc: fastrpc: Avoid updating PD type for capability request Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 099/121] misc: fastrpc: Copy the complete capability structure to user Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 100/121] misc: fastrpc: Fix memory leak in audio daemon attach operation Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 101/121] misc: fastrpc: Fix ownership reassignment of remote heap Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 102/121] misc: fastrpc: Restrict untrusted app to attach to privileged PD Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 103/121] mm/shmem: disable PMD-sized page cache if needed Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 104/121] mm/damon/core: merge regions aggressively when max_nr_regions is unmet Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 105/121] [PATCH] selftests/net: fix gro.c compilation failure due to non-existent opt_ipproto_off Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 106/121] nilfs2: fix kernel bug on rename operation of broken directory Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 107/121] ext4: avoid ptr null pointer dereference Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 108/121] sched: Move psi_account_irqtime() out of update_rq_clock_task() hotpath Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 109/121] btrfs: tree-checker: add type and sequence check for inline backrefs Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 110/121] i2c: rcar: bring hardware to known state when probing Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 111/121] i2c: mark HostNotify target address as used Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 112/121] i2c: rcar: reset controller is mandatory for Gen3+ Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 113/121] i2c: rcar: introduce Gen4 devices Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 114/121] i2c: rcar: ensure Gen3+ reset does not disturb local targets Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 115/121] i2c: testunit: avoid re-issued work after read message Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 116/121] i2c: rcar: clear NO_RXDMA flag after resetting Greg Kroah-Hartman
2024-07-16 15:32 ` [PATCH 6.6 117/121] x86/entry: Rename ignore_sysret() Greg Kroah-Hartman
2024-07-16 15:33 ` [PATCH 6.6 118/121] x86/entry/64: Remove obsolete comment on tracing vs. SYSRET Greg Kroah-Hartman
2024-07-16 15:33 ` [PATCH 6.6 119/121] x86/bhi: Avoid warning in #DB handler due to BHI mitigation Greg Kroah-Hartman
2024-07-16 15:33 ` [PATCH 6.6 120/121] kbuild: Make ld-version.sh more robust against version string changes Greg Kroah-Hartman
2024-07-16 15:33 ` [PATCH 6.6 121/121] i2c: rcar: fix error code in probe() Greg Kroah-Hartman
2024-07-16 18:37 ` [PATCH 6.6 000/121] 6.6.41-rc1 review SeongJae Park
2024-07-16 18:55 ` Florian Fainelli
2024-07-16 20:00 ` Naresh Kamboju
2024-07-17 15:43 ` Shuah Khan
2024-07-17 16:58 ` Allen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240716152753.361732167@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=edumazet@google.com \
--cc=imagedong@tencent.com \
--cc=kerneljasonxing@gmail.com \
--cc=kuba@kernel.org \
--cc=ncardwell@google.com \
--cc=patches@lists.linux.dev \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.