LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

Re: [PATCH net] ipvs: reset full ip_vs_seq structs in ip_vs_conn_new

To: Yizhou Zhao <zhaoyz24@xxxxxxxxxxxxxxxxxxxxx>
Subject: Re: [PATCH net] ipvs: reset full ip_vs_seq structs in ip_vs_conn_new
Cc: netdev@xxxxxxxxxxxxxxx, horms@xxxxxxxxxxxx, ja@xxxxxx, pablo@xxxxxxxxxxxxx, fw@xxxxxxxxx, phil@xxxxxx, davem@xxxxxxxxxxxxx, edumazet@xxxxxxxxxx, kuba@xxxxxxxxxx, pabeni@xxxxxxxxxx, lvs-devel@xxxxxxxxxxxxxxx, netfilter-devel@xxxxxxxxxxxxxxx, coreteam@xxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, stable@xxxxxxxxxxxxxxx, yangyx22@xxxxxxxxxxxxxxxxxxxxx, wangao@xxxxxxxxxx, fengxw06@xxxxxxx, qli01@xxxxxxxxxxxxxxx, xuke@xxxxxxxxxxxxxxx
From: patchwork-bot+netdevbpf@xxxxxxxxxx
Date: Mon, 06 Jul 2026 10:50:17 +0000
Hello:

This patch was applied to netdev/net.git (main)
by Florian Westphal <fw@xxxxxxxxx>:

On Thu,  2 Jul 2026 19:28:36 +0800 you wrote:
> Commit 9a05475cebdd ("ipvs: avoid kmem_cache_zalloc in
> ip_vs_conn_new") changed ip_vs_conn_new() to allocate an ip_vs_conn
> object with kmem_cache_alloc().  The function then initializes many
> fields explicitly, but only resets in_seq.delta and out_seq.delta in the
> two struct ip_vs_seq members.
> 
> That leaves init_seq and previous_delta uninitialized.  This is normally
> harmless while the corresponding IP_VS_CONN_F_IN_SEQ or
> IP_VS_CONN_F_OUT_SEQ flag is clear.  For connections learned from a sync
> message, however, ip_vs_proc_conn() preserves those flags from
> IP_VS_CONN_F_BACKUP_MASK and passes opt=NULL when the message omits
> IPVS_OPT_SEQ_DATA.  In that case the new connection can be hashed with
> SEQ flags set but with the rest of in_seq/out_seq still containing stale
> slab data.
> 
> [...]

Here is the summary with links:
  - [net] ipvs: reset full ip_vs_seq structs in ip_vs_conn_new
    https://git.kernel.org/netdev/net/c/2975324d164c

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html




<Prev in Thread] Current Thread [Next in Thread>