From: Kuniyuki Iwashima <kuniyu@google.com>
To: Jiayuan Chen <jiayuan.chen@linux.dev>
Cc: netdev@vger.kernel.org, stable@vger.kernel.org,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@kernel.org>,
Jakub Kicinski <kuba@kernel.org>,
Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>,
David Ahern <dsahern@kernel.org>,
Ido Schimmel <idosch@nvidia.com>,
Joel Granados <joel.granados@kernel.org>,
Chia-Yu Chang <chia-yu.chang@nokia-bell-labs.com>,
Wyatt Feng <bronzed_45_vested@icloud.com>,
Fernando Fernandez Mancera <fmancera@suse.de>,
Yung Chih Su <yuuchihsu@gmail.com>,
Hannes Frederic Sowa <hannes@stressinduktion.org>,
Flavio Leitner <fbl@redhat.com>, Petr Mladek <pmladek@suse.com>,
"Paul E. McKenney" <paulmck@kernel.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH net 4/5] ipv4: restrict igmp_qrv to 255
Date: Tue, 27 Oct 2026 05:25:57 +0000 [thread overview]
Message-ID: <auA1zqalNB5UrXJq@google.com> (raw)
In-Reply-To: <20261023091419.167088-5-jiayuan.chen@linux.dev>
On Fri, 23 Oct 2026 17:13:30 +0800, Jiayuan Chen wrote:
> net.ipv4.igmp_qrv only has a lower bound, but ip_mc_reset() stores it
> into the u8 in_device::mr_qrv, and the IGMPv3 retransmit counters filled
> from it (crcount, sf_crcount) are u8 as well. Anything above 255
> silently wraps. With 256, mr_qrv becomes 0, every
> "in_dev->mr_qrv ?: sysctl_igmp_qrv" falls back to 256, which truncates
> to 0 again in crcount, and igmpv3_send_cr() never puts the state change
> records for the group into a report. The older version querier present
> timeout (mr_qrv * mr_qi + mr_qri) also collapses to just mr_qri.
>
> Unlike MLD there is no WARN_ON() here, the reports just go missing.
>
> Cap the sysctl at U8_MAX, the largest value mr_qrv can actually hold.
>
> Fixes: a9fe8e29945d ("ipv4: implement igmp_qrv sysctl to tune igmp robustness variable")
> Cc: stable@vger.kernel.org
> Signed-off-by: Jiayuan Chen <jiayuan.chen@linux.dev>
> ---
> net/ipv4/sysctl_net_ipv4.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
> index e3760daa3470..ef631a2759b0 100644
> --- a/net/ipv4/sysctl_net_ipv4.c
> +++ b/net/ipv4/sysctl_net_ipv4.c
> @@ -33,6 +33,7 @@ static int ip_privileged_port_min;
> static int ip_privileged_port_max = 65535;
> static int ip_ttl_min = 1;
> static int ip_ttl_max = 255;
> +static int igmp_qrv_max __maybe_unused = U8_MAX;
> static int tcp_syn_retries_min = 1;
> static int tcp_syn_retries_max = MAX_TCP_SYNCNT;
> static int tcp_syn_linear_timeouts_max = MAX_TCP_SYNCNT;
> @@ -978,7 +979,8 @@ static const struct ctl_table ipv4_net_table[] = {
> .maxlen = sizeof(int),
> .mode = 0644,
> .proc_handler = proc_dointvec_minmax,
Same, please use proc_dou8vec_minmax().
> - .extra1 = SYSCTL_ONE
> + .extra1 = SYSCTL_ONE,
> + .extra2 = &igmp_qrv_max,
> },
> #endif
> {
> --
> 2.43.0
>
next prev parent reply other threads:[~2026-10-27 5:25 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-23 9:13 [PATCH net 0/5] net: fix misc signed overflows caused by bad sysctl values Jiayuan Chen
2026-10-23 9:13 ` [PATCH net 1/5] ipv6: restrict gc_elasticity to 31 Jiayuan Chen
2026-10-23 13:31 ` Fernando Fernandez Mancera
2026-10-26 12:15 ` netdev-bot+sashiko
2026-10-27 5:18 ` Kuniyuki Iwashima
2026-10-23 9:13 ` [PATCH net 2/5] ipv4: fix shift-out-of-bounds in ip_rt_send_redirect() Jiayuan Chen
2026-10-23 14:11 ` Fernando Fernandez Mancera
2026-10-23 14:38 ` Jiayuan Chen
2026-10-26 12:15 ` netdev-bot+sashiko
2026-10-23 9:13 ` [PATCH net 3/5] ipv6: restrict mld_qrv to 255 Jiayuan Chen
2026-10-23 14:13 ` Fernando Fernandez Mancera
2026-10-26 12:15 ` netdev-bot+sashiko
2026-10-27 5:24 ` Kuniyuki Iwashima
2026-10-23 9:13 ` [PATCH net 4/5] ipv4: restrict igmp_qrv " Jiayuan Chen
2026-10-23 14:14 ` Fernando Fernandez Mancera
2026-10-26 12:15 ` netdev-bot+sashiko
2026-10-27 5:25 ` Kuniyuki Iwashima [this message]
2026-10-23 9:13 ` [PATCH net 5/5] net: restrict message_cost and message_burst to non-negative values Jiayuan Chen
2026-10-23 12:19 ` Joel Granados
2026-10-23 12:55 ` Fernando Fernandez Mancera
2026-10-23 14:30 ` Jiayuan Chen
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=auA1zqalNB5UrXJq@google.com \
--to=kuniyu@google.com \
--cc=bronzed_45_vested@icloud.com \
--cc=chia-yu.chang@nokia-bell-labs.com \
--cc=davem@davemloft.net \
--cc=dsahern@kernel.org \
--cc=edumazet@kernel.org \
--cc=fbl@redhat.com \
--cc=fmancera@suse.de \
--cc=hannes@stressinduktion.org \
--cc=horms@kernel.org \
--cc=idosch@nvidia.com \
--cc=jiayuan.chen@linux.dev \
--cc=joel.granados@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=paulmck@kernel.org \
--cc=pmladek@suse.com \
--cc=stable@vger.kernel.org \
--cc=yuuchihsu@gmail.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.