All of lore.kernel.org
 help / color / mirror / Atom feed
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@google.com, fw@strlen.de,
	horms@kernel.org
Subject: Re: [PATCH net-next 00/15] Netfilter/IPVS updates for net-next
Date: Mon, 8 Jun 2026 13:58:37 +0200	[thread overview]
Message-ID: <aiaubSEfDp_JQk_p@chamomile> (raw)
In-Reply-To: <20260607094954.48892-1-pablo@netfilter.org>

Hi,

I'm replying to Sashiko.dev comments here:

* [PATCH net-next 06/15] netfilter: synproxy: fix unaligned memory access in timestamp adjustment

Refers to pre-existing issue. I think this comment is not correct?

* [PATCH net-next 07/15] netfilter: synproxy: protect nf_ct_seqadj_init() with conntrack lock

Refers to pre-existing issue. But I think it is not correct, reopened
connections in TIME_WAIT are killed by TCP protocol tracker, so they
start in a clean state.

It also suggests check for NULL in seqadj = nfct_seqadj(ct); this is
related to a bug in the ct extension generation ID which is addressed
by this batch. Anyway, Florian and me agreed that adding this NULL
check for safety is good to go, and I have a patch fot this.

* [PATCH net-next 08/15] netfilter: cttimeout: detach dataplane timeout policy and repurpose refcount

Wrong comment by AI. 

> Does removing this assignment cause nftables ct timeout rules to silently fail
> if a timeout extension is already present?

The ct timeout is only applied to a new conntrack that unconfirmed,
this override semantics does not make sense to me.

* [PATCH net-next 11/15] netfilter: nf_conntrack_helper: add refcounting from datapath

Refer to pre-existing issue. Yes, ->destroy() is missing here and in
ctnetlink, I will post a patch to address this. This also refer to
ctnetlink_change_helper().

* [PATCH net-next 13/15] netfilter: conntrack: call nf_ct_gre_keymap_destroy() if master helper is pptp

No other helper support the .destroy callback. AI assumes other
helpers support this callback.

* [PATCH net-next 14/15] netfilter: flowtable: avoid num_encaps underflow on bridge VLAN untag

Refers to pre-existing issue. Yes, this function nft_dev_path_info()
can be made more robust when failing to build a fast path. I have a
follow up patch for this.

There is another issue with the IPVS patch that adds the conn_max
documentation (incorrect format), Julian Anastasov is ready to send a
follow up patch address it.

Let me know, thanks.

On Sun, Jun 07, 2026 at 11:49:39AM +0200, Pablo Neira Ayuso wrote:
> Hi,
> 
> The following patchset contains Netfilter/IPVS updates for net-next,
> this contains updates to address sashiko reports in IPVS and Netfilter
> on possible pre-existing issues. This also includes a series to add
> refcount for ct helper and timeout to deal with a corner case scenario
> with unconfirmed conntracks flying to nfqueue.
> 
> 1) Add a conn_max sysctl to IPVS to limit the maximum number of
>    connections, from Julian Anastasov.
> 
> 2) Use get_unaligned_be16() to access TCP MSS in nfnetlink_osf,
>    from Fernando Fernandez Mancera.
> 
> 3) Use {READ,WRITE}_ONCE to access helper flags from nfnetlink_helper.
> 
> Several patches for the synproxy infrastructure, from Fernando
> Fernandez Mancera:
> 
> 4) Drop packet if TCP timestamp adjustment fails.
> 
> 5) Continue parsing of TCP timestamp to deal with possible duplicates.
> 
> 6) Use {get,put}_unaligned_be32() to acess the TCP timestamp.
> 
> 7) Hold ct->lock to initialize nf_ct_seqadj_init().
> 
> Updates for the ct timeout infrastructure, to deal with a corner case
> for unconfirmed conntracks flying to nfqueue:
> 
> 8) Add a refcount to track ct timeout policy use by ct extension,
>    release the timeout until the last ct extension drops the refcnt
>    on it.
> 
> Similar update for the ct helper infrastructure:
> 
> 9) Dynamic allocation of ct helpers, as a preparation for adding
>    refcount to track ct extension use.
> 
> 10) Move destroy_sibling_or_exp() to nf_conntrack_proto_gre, so
>     pptp conntrack helper module removal does not make this code
>     unreachable via the helper->destroy callback. This is another
>     dependency for the new refcount coming in this series.
> 
> 11) Add a refcount to track use of it from the ct extension, then
>     ct helper and timeout is reachable to the connection until
>     it goes away.
> 
> 12) Remove the genid infrastructure in ct extensions. The primary
>     goal was to detect that a ct extension such as ct timeout and
>     ct helper went stale for unconfirmed conntrack, either because
>     object or module was removed. This deactivates all ct extensions
>     though for this unconfirmed conntrack.
> 
> 13) Call nf_ct_gre_keymap_destroy() if this is a master conntrack
>     with a pptp helper only.
> 
> sashiko.dev reports one more relevant issue when unsetting the helper
> via ctnetlink that I will address in a follow up patch.
> 
> Then, two more assorted updates:
> 
> 14) Avoid a unlikely underflow in bridge VLAN untag, only possible
>     if buggy bridge VLAN filtering is buggy, remove WARN_ON_ONCE
>     while at it. From David Carlier.
> 
> 15) Use get_unaligned_be32() in nf_conntrack_tcp to access sack
>     extension, from Rosen Penev.
> 
> Please, pull these changes from:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf-next.git nf-next-26-06-07
> 
> Thanks.
> 
> ----------------------------------------------------------------
> 
> The following changes since commit bfa3d89cc15c09f7d1581c834a5ed725189ec19f:
> 
>   Merge tag 'batadv-next-pullrequest-20260603' of https://git.open-mesh.org/batadv (2026-06-04 19:14:35 -0700)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf-next.git tags/nf-next-26-06-07
> 
> for you to fetch changes up to d3bf9eae486490832bd08fd62ab0ac601f346bd4:
> 
>   netfilter: nf_conntrack: use get_unaligned_be32() in tcp_sack() (2026-06-07 11:13:47 +0200)
> 
> ----------------------------------------------------------------
> netfilter pull request 26-06-07
> 
> ----------------------------------------------------------------
> David Carlier (1):
>       netfilter: flowtable: avoid num_encaps underflow on bridge VLAN untag
> 
> Fernando Fernandez Mancera (5):
>       netfilter: nfnetlink_osf: fix mss parsing on big-endian architectures
>       netfilter: synproxy: drop packets if timestamp adjustment fails
>       netfilter: synproxy: adjust duplicate timestamp options
>       netfilter: synproxy: fix unaligned memory access in timestamp adjustment
>       netfilter: synproxy: protect nf_ct_seqadj_init() with conntrack lock
> 
> Julian Anastasov (1):
>       ipvs: add conn_max sysctl to limit connections
> 
> Pablo Neira Ayuso (7):
>       netfilter: nfnetlink_cthelper: use {READ,WRITE}_ONCE for accessing helper flags
>       netfilter: cttimeout: detach dataplane timeout policy and repurpose refcount
>       netfilter: nf_conntrack_helper: dynamically allocate struct nf_conntrack_helper
>       netfilter: nf_conntrack_pptp: move GRE specific cleanup to GRE tracker
>       netfilter: nf_conntrack_helper: add refcounting from datapath
>       netfilter: conntrack: revert ct extension genid infrastructure
>       netfilter: conntrack: call nf_ct_gre_keymap_destroy() if master helper is pptp
> 
> Rosen Penev (1):
>       netfilter: nf_conntrack: use get_unaligned_be32() in tcp_sack()
> 
>  Documentation/networking/ipvs-sysctl.rst       |  35 +++++++
>  include/net/ip_vs.h                            |  22 +++++
>  include/net/netfilter/ipv4/nf_conntrack_ipv4.h |   4 +
>  include/net/netfilter/nf_conntrack_extend.h    |  12 ---
>  include/net/netfilter/nf_conntrack_helper.h    |  42 ++++++---
>  include/net/netfilter/nf_conntrack_timeout.h   |  27 +++++-
>  net/ipv4/netfilter/nf_nat_snmp_basic_main.c    |  27 +++---
>  net/netfilter/ipvs/ip_vs_conn.c                |  10 +-
>  net/netfilter/ipvs/ip_vs_ctl.c                 |  53 +++++++++++
>  net/netfilter/nf_conntrack_amanda.c            |  39 +++-----
>  net/netfilter/nf_conntrack_core.c              |  92 +++++-------------
>  net/netfilter/nf_conntrack_extend.c            |  32 +------
>  net/netfilter/nf_conntrack_ftp.c               |   5 +-
>  net/netfilter/nf_conntrack_h323_main.c         | 107 +++++++++------------
>  net/netfilter/nf_conntrack_helper.c            | 125 +++++++++++++++++--------
>  net/netfilter/nf_conntrack_irc.c               |   5 +-
>  net/netfilter/nf_conntrack_netbios_ns.c        |  20 ++--
>  net/netfilter/nf_conntrack_netlink.c           |  28 ++++--
>  net/netfilter/nf_conntrack_ovs.c               |   9 +-
>  net/netfilter/nf_conntrack_pptp.c              |  83 +++-------------
>  net/netfilter/nf_conntrack_proto.c             |  15 ++-
>  net/netfilter/nf_conntrack_proto_gre.c         |  61 ++++++++++++
>  net/netfilter/nf_conntrack_proto_tcp.c         |  10 +-
>  net/netfilter/nf_conntrack_sane.c              |   5 +-
>  net/netfilter/nf_conntrack_seqadj.c            |   2 +
>  net/netfilter/nf_conntrack_sip.c               |   5 +-
>  net/netfilter/nf_conntrack_snmp.c              |  21 ++---
>  net/netfilter/nf_conntrack_tftp.c              |   5 +-
>  net/netfilter/nf_conntrack_timeout.c           |  27 +++++-
>  net/netfilter/nf_flow_table_path.c             |   3 +-
>  net/netfilter/nf_synproxy_core.c               |  40 ++++----
>  net/netfilter/nfnetlink_cthelper.c             |  79 ++++++++--------
>  net/netfilter/nfnetlink_cttimeout.c            | 112 ++++++++++------------
>  net/netfilter/nfnetlink_osf.c                  |   6 +-
>  net/netfilter/nft_ct.c                         |  10 +-
>  net/netfilter/xt_CT.c                          |   3 -
>  36 files changed, 653 insertions(+), 528 deletions(-)
> 

  parent reply	other threads:[~2026-06-08 11:58 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-07  9:49 [PATCH net-next 00/15] Netfilter/IPVS updates for net-next Pablo Neira Ayuso
2026-06-07  9:49 ` [PATCH net-next 01/15] ipvs: add conn_max sysctl to limit connections Pablo Neira Ayuso
2026-06-08 22:40   ` patchwork-bot+netdevbpf
2026-06-07  9:49 ` [PATCH net-next 02/15] netfilter: nfnetlink_osf: fix mss parsing on big-endian architectures Pablo Neira Ayuso
2026-06-07  9:49 ` [PATCH net-next 03/15] netfilter: nfnetlink_cthelper: use {READ,WRITE}_ONCE for accessing helper flags Pablo Neira Ayuso
2026-06-07  9:49 ` [PATCH net-next 04/15] netfilter: synproxy: drop packets if timestamp adjustment fails Pablo Neira Ayuso
2026-06-07  9:49 ` [PATCH net-next 05/15] netfilter: synproxy: adjust duplicate timestamp options Pablo Neira Ayuso
2026-06-07  9:49 ` [PATCH net-next 06/15] netfilter: synproxy: fix unaligned memory access in timestamp adjustment Pablo Neira Ayuso
2026-06-07  9:49 ` [PATCH net-next 07/15] netfilter: synproxy: protect nf_ct_seqadj_init() with conntrack lock Pablo Neira Ayuso
2026-06-07  9:49 ` [PATCH net-next 08/15] netfilter: cttimeout: detach dataplane timeout policy and repurpose refcount Pablo Neira Ayuso
2026-06-08 22:30   ` Pablo Neira Ayuso
2026-06-08 22:57     ` Jakub Kicinski
2026-06-08 23:13       ` Pablo Neira Ayuso
2026-06-07  9:49 ` [PATCH net-next 09/15] netfilter: nf_conntrack_helper: dynamically allocate struct nf_conntrack_helper Pablo Neira Ayuso
2026-06-07  9:49 ` [PATCH net-next 10/15] netfilter: nf_conntrack_pptp: move GRE specific cleanup to GRE tracker Pablo Neira Ayuso
2026-06-07  9:49 ` [PATCH net-next 11/15] netfilter: nf_conntrack_helper: add refcounting from datapath Pablo Neira Ayuso
2026-06-07  9:49 ` [PATCH net-next 12/15] netfilter: conntrack: revert ct extension genid infrastructure Pablo Neira Ayuso
2026-06-07  9:49 ` [PATCH net-next 13/15] netfilter: conntrack: call nf_ct_gre_keymap_destroy() if master helper is pptp Pablo Neira Ayuso
2026-06-07  9:49 ` [PATCH net-next 14/15] netfilter: flowtable: avoid num_encaps underflow on bridge VLAN untag Pablo Neira Ayuso
2026-06-07  9:49 ` [PATCH net-next 15/15] netfilter: nf_conntrack: use get_unaligned_be32() in tcp_sack() Pablo Neira Ayuso
2026-06-08 11:58 ` Pablo Neira Ayuso [this message]
2026-06-08 22:39   ` [PATCH net-next 00/15] Netfilter/IPVS updates for net-next 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=aiaubSEfDp_JQk_p@chamomile \
    --to=pablo@netfilter.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=fw@strlen.de \
    --cc=horms@kernel.org \
    --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 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.