From: Pablo Neira Ayuso <pablo@netfilter.org>
To: netfilter-devel@vger.kernel.org
Cc: davem@davemloft.net, netdev@vger.kernel.org, kuba@kernel.org,
pabeni@redhat.com, edumazet@kernel.org, horms@kernel.org,
fw@strlen.de, ja@ssi.bg
Subject: [PATCH net 00/15] IPVS fixes for net
Date: Fri, 13 Nov 2026 02:14:32 +0100 [thread overview]
Message-ID: <20261113011447.2357709-1-pablo@netfilter.org> (raw)
Hi,
The following patchset contains IPVS fixes for net:
1) Avoid out-of-bounds write in ip_vs_nat_icmp_v6() when an ICMPv6
error embeds a non-first ESP fragment, from Axel Mierczuk.
2) Update *offset for non-first fragments in ipv6_find_hdr(), so
callers no longer use the initial offset as if it had been
updated. Also from Axel.
3) Rework connection refcounting so the pending and running timer
hold a reference. This fixes a use-after-free race between
connection deletion and a concurrent timer callback, from
Julian Anastasov.
4) Expire controlled connection chains iteratively instead of
recursively to avoid kernel stack exhaustion, from Zihan Xi.
5) Reject zero and configured FTP control ports as data ports in
the FTP helper, from Zihan Xi.
6) Skip conntrack templates in ip_vs_ftp_out() to fix a UAF in the
expectation list after the CT rule is removed, from Theodor
Arsenij Larionov Trichkine.
7) Add the seqadj extension before linking the FTP expectation, since
krealloc() of ct->ext can otherwise leave the expectation pointing
to freed memory. Also from Theodor.
8) Update conn flags, seqs and related fields in the backup server
under cp->lock, from Julian Anastasov.
9) Read conn flags and seqs atomically in the master when building
sync messages, from Julian Anastasov.
10) Fix a race that can leave a destination in the overload state
forever. Also make the LBLC/LBLCR schedulers honor the overload
state for cached destinations, from Julian Anastasov.
11) Validate cport and IP_VS_CONN_F_NO_CPORT in received sync records.
This rejects templates and connections that incoming lookups
cannot match, from Axel Mierczuk.
12) Skip cport 0 connections in ip_vs_conn_out_get(), using the same
rule as __ip_vs_conn_in_get(). Also from Axel.
13) Do not create connections from packets with client or virtual
port 0, which could create a duplicate connection for every
packet, from Julian Anastasov.
14) Wait for an RCU grace period before reusing a destination from
dest_trash, and before restarting its estimator, from Darong Lu.
15) Pass the netfilter hook's state->sk to the update_pmtu handler,
and pass a NULL sk to ip_local_out() when forwarding through an
IPVS tunnel, from Julian Anastasov.
Please, pull these changes from:
git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf.git nf-26-11-13
Thanks.
----------------------------------------------------------------
The following changes since commit d1bb235aa409a4e5aeba6c748d953d948625b1e9:
netfilter: nat: zero newrange before filling it in (2026-11-05 13:31:11 +0100)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf.git nf-26-11-13
for you to fetch changes up to 937b060406a547e4d931525e600540726ea26532:
ipvs: pass correct sk to update_pmtu and on tunneling (2026-11-13 02:08:35 +0100)
----------------------------------------------------------------
netfilter pull request 26-11-13
----------------------------------------------------------------
Axel Mierczuk (4):
ipvs: avoid out-of-bounds write in ip_vs_nat_icmp_v6
ipv6: update *offset for non-first fragments in ipv6_find_hdr()
ipvs: validate cport in received sync records
ipvs: skip cport 0 connections in ip_vs_conn_out_get()
Darong Lu (1):
ipvs: wait grace period before reusing destinations
Julian Anastasov (6):
ipvs: fix problems during connection deletion
ipvs: update flags and seqs in backup server under lock
ipvs: read flags and seqs in master atomically
ipvs: honor the overload state and do not enter it forever
ipvs: do not create conns from packets with port 0
ipvs: pass correct sk to update_pmtu and on tunneling
Theodor Arsenij Larionov Trichkine (2):
ipvs: ftp: skip conntrack templates in ip_vs_ftp_out
ipvs: ftp: add seqadj extension before linking the expectation
Zihan Xi (2):
ipvs: avoid stack overflow from recursive connection expiration
ipvs: reject FTP control ports as data ports
include/net/ip_vs.h | 52 ++++++++----
net/ipv6/exthdrs_core.c | 6 +-
net/netfilter/ipvs/ip_vs_conn.c | 133 ++++++++++++++++++------------
net/netfilter/ipvs/ip_vs_core.c | 58 +++++++++----
net/netfilter/ipvs/ip_vs_ctl.c | 140 ++++++++++++++++++++++++--------
net/netfilter/ipvs/ip_vs_ftp.c | 39 +++++++--
net/netfilter/ipvs/ip_vs_lblc.c | 8 +-
net/netfilter/ipvs/ip_vs_lblcr.c | 13 +--
net/netfilter/ipvs/ip_vs_proto_ah_esp.c | 2 +-
net/netfilter/ipvs/ip_vs_proto_sctp.c | 12 ++-
net/netfilter/ipvs/ip_vs_proto_tcp.c | 12 ++-
net/netfilter/ipvs/ip_vs_proto_udp.c | 11 ++-
net/netfilter/ipvs/ip_vs_sync.c | 53 ++++++++++--
net/netfilter/ipvs/ip_vs_xmit.c | 114 +++++++++++++++++---------
14 files changed, 462 insertions(+), 191 deletions(-)
next reply other threads:[~2026-11-13 1:14 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-13 1:14 Pablo Neira Ayuso [this message]
2026-11-13 1:14 ` [PATCH net 01/15] ipvs: avoid out-of-bounds write in ip_vs_nat_icmp_v6 Pablo Neira Ayuso
2026-11-13 1:16 ` netdev-bot+sinfo
2026-11-13 1:14 ` [PATCH net 02/15] ipv6: update *offset for non-first fragments in ipv6_find_hdr() Pablo Neira Ayuso
2026-11-13 1:14 ` [PATCH net 03/15] ipvs: fix problems during connection deletion Pablo Neira Ayuso
2026-11-13 1:14 ` [PATCH net 04/15] ipvs: avoid stack overflow from recursive connection expiration Pablo Neira Ayuso
2026-11-13 1:14 ` [PATCH net 05/15] ipvs: reject FTP control ports as data ports Pablo Neira Ayuso
2026-11-13 1:14 ` [PATCH net 06/15] ipvs: ftp: skip conntrack templates in ip_vs_ftp_out Pablo Neira Ayuso
2026-11-13 1:14 ` [PATCH net 07/15] ipvs: ftp: add seqadj extension before linking the expectation Pablo Neira Ayuso
2026-11-13 1:14 ` [PATCH net 08/15] ipvs: update flags and seqs in backup server under lock Pablo Neira Ayuso
2026-11-13 1:14 ` [PATCH net 09/15] ipvs: read flags and seqs in master atomically Pablo Neira Ayuso
2026-11-13 1:14 ` [PATCH net 10/15] ipvs: honor the overload state and do not enter it forever Pablo Neira Ayuso
2026-11-13 1:14 ` [PATCH net 11/15] ipvs: validate cport in received sync records Pablo Neira Ayuso
2026-11-13 1:14 ` [PATCH net 12/15] ipvs: skip cport 0 connections in ip_vs_conn_out_get() Pablo Neira Ayuso
2026-11-13 1:14 ` [PATCH net 13/15] ipvs: do not create conns from packets with port 0 Pablo Neira Ayuso
2026-11-13 1:14 ` [PATCH net 14/15] ipvs: wait grace period before reusing destinations Pablo Neira Ayuso
2026-11-13 1:14 ` [PATCH net 15/15] ipvs: pass correct sk to update_pmtu and on tunneling Pablo Neira Ayuso
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=20261113011447.2357709-1-pablo@netfilter.org \
--to=pablo@netfilter.org \
--cc=davem@davemloft.net \
--cc=edumazet@kernel.org \
--cc=fw@strlen.de \
--cc=horms@kernel.org \
--cc=ja@ssi.bg \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=pabeni@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox