From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=209.85.128.49 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793528587; b=fwBYoBcRWlSWu4lfGdxJVmopLUeO4Endv+rQr3mhxiGglO3gR4zfRKGg+G5aO91DO2Fv PaHPkG2y03uvTGLp52j7CPj36BoOb2XBzIqcMGbkwNaf1qKvk84eoFPvkXRcxZLtrGRz7 WJO9ZwADJzppwbnfEdW3I4M6QszJbKx5gjDDAzL4xhiUsVbr2tq4/6McuYOqYciTVx505 xOe/Qm1noo9dmgi3rD44LT6IhfKMkowlzEZXOwhEUX1ig4gpoySZVQx8GvSKEhV+QbTeV A9leY+nRpUrj6yqTHyPULZ/ajt/uiOVZpr5bFJkp42xkuARa7KEQrqjClosHM60jEng== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793528587; h=DMARC-Filter:Received:DKIM-Signature:X-Google-DKIM-Signature: X-Forwarded-Encrypted:X-Gm-Message-State:X-Gm-Gg:X-Received:Received: Message-ID:Date:MIME-Version:User-Agent:Subject:Content-Language:To: Cc:References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding; bh=msvOHl/vwSgu8PRO+tkgo4NL+2qt01hm6ZSBcN1ALqQ=; b=iLRFW0nycytz32fbvSWDMkBAY29Q2Y/3J/P+H2YVP69QUBRK6rvFzXK1ZVtSOXa0qj/p jPIyXGam1WQQ7YwMYhKScnolbqx+z+Ae8c9Yk/nFYXcq9XgSOAsudIDH1+/L2NBLEapQb 8D+vbBYLNOTSFrNolzdZBLMKTRaFe6LJbIKvXTocLJXrLNTncZTANWR+BbiiDzwa3ObZF bJcYHNahIFLFcIVHRqLZ0pzYQFPPbHSL5Dml9k7YZkF+AUUfCnAhO+W7m5IN7TZNYKpRl DpOLQDRLcfunRoaYheVf+mKZMFyodc+qa2VJeST9p/eZErRg1rtmniodyIPRyxjBK0w== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none header.from=blackwall.org; spf=none smtp.mailfrom=blackwall.org; dkim=pass header.d=blackwall.org header.i=@blackwall.org header.a=rsa-sha256 header.s=google header.b=IbBQEbE7; arc=none smtp.remote-ip=209.85.128.49 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7437C606A326 for ; Sun, 1 Nov 2026 10:23:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org 7437C606A326 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=blackwall.org Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=blackwall.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=blackwall.org header.i=@blackwall.org header.a=rsa-sha256 header.s=google header.b=IbBQEbE7 Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-4a1fbd52ab6so15434375e9.0 for ; Sun, 01 Nov 2026 02:23:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=blackwall.org; s=google; t=1793528585; x=1794133385; darn=vger.kernel.org; h=content-transfer-encoding:content-type:in-reply-to:from:references :cc:to:content-language:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to:content-type; bh=msvOHl/vwSgu8PRO+tkgo4NL+2qt01hm6ZSBcN1ALqQ=; b=IbBQEbE7feKVZTBcHrbcmXeLAJoNrm+yN//hxFKgtmcm3daxC97LETn7Po6C6wjVOI n7OAsHkd4fJTGHumh0e7J5PQSfLnBEgMt+twh8xAhLbGWA4AW3iTvM8JJ/VOL2KpNifz flc0/3HDjXu7SPviS92yKsjlzUhMDMbeupymAhrZxJioYV0qg5eR2w3pyXvSbbzTpCJI R2X6mgOW5hwasaKBXsGaw4zKdZ9rfT+QFixNR4rT+Ylth8u6GCa+71rD41AMZ7HlHSxl Fb4MrOXS3sd6t0Z96W6k4xi2g0HwPJ9uZEXvpLCKYZZ01ROU7TX/WCCy40SjRjBzVnzD 85Jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793528585; x=1794133385; h=content-transfer-encoding:content-type:in-reply-to:from:references :cc:to:content-language:subject:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=msvOHl/vwSgu8PRO+tkgo4NL+2qt01hm6ZSBcN1ALqQ=; b=ZhEW9nnJYtR8s1fvQ90kHvgjqKGOAscLrepLYeYspOJCirzRMUNna84suu4NWJq+9s cCkCdC9OOxiknRmlbSfnR6OWNv+drqlLS1Av9BOMIZMRLww25aNRfg+70NIcQQ9vOESf 7ipzfAeR0CdjMbYxqWM9hwArJxm6YCxM9JUHzbWXdyOJTG5P7b7FFrz7/1cSsk2L5cDE IgW6vMro+gGkdnxSce1F42njYKW1OdHPplttuSnjBYPiegZzxVixfsmJrnz9onQcJHIx WbbI4PmCwn8jKzpZrW58lZl8XbRG1CtCfXJMAez8wmobO4bQGqSg0qiOm5gxve3uu87U 9Pbg== X-Forwarded-Encrypted: i=1; AKwUvBxEhMLCEADfn48wXXs2DeYfeG0ZpJnNbhZfroezBGcQRcbTzS3y2ZYN6kO+P16M21XcUfUfUmFoJsu3qyA=@vger.kernel.org X-Gm-Message-State: AFq9FYJHsMPIHUgiRy3/EXpxUiQAlvUWFwthuXaQW+QyeK65BecfZEB1 bHdN2q8X/a/Df4awWdjWRBVKKVLvkbUCrLdTX7u3zstKfxr+wCjAww0mlW8qsu6vQtQ= X-Gm-Gg: AYBFou1Y3r2tVwmfR5GkKjcKp+tPEZPTV8qAsGQLBH93tFNjnBsXZhPbpRcbp8JdnoD QnY02vSdYv+X9iWrc3oPyV0KfHQqQz1KDjud7MQelvw8NJA2jB2+AyFlizT6djVJDLQaBCBR2sV 5utEFn3pOVQjgAP5kVdEg0EyMlIcy4kXjrLdTHs2VuZdLqRZyzIsokWMXFFpkhNDEkN+sXvUtkp nTgTAzzY7yfhoZrKMTQrSmb0F3GalakcmRcIjiAEPWiTDEcbcD3YgTpZU/ATZEWHjXon2OV72e5 59g6pET68XQrLasnDQucke8q6XLRHEVY7lYvclOiO5LEYOw6qSmndRhDWQL199coYf3t3/3Q23l qos1V3of+ZYRXrEVFkfsG4qfu3zvnAlRj/rowbMJRieZnGps5Pt5BS1pFqFVRQqFiqc9mzyGG2M 0Y60NrkU3MI/p8+QAlxxvXs2RggQ9EX0UGWU7HN2K92Wdsh9fwqmj0ckuLLc25OduMcNppR96zp ERuaOLL+1CxJelxoi0KbFdvqzoh7rV9+QMiEeVK3WRDPtpTsecx0dLkR0kM4Dsp+uyoJuALrMiJ 5HRuUNai1a6RVHE2gOC7zl3yb60lTHPIsh4l/weHAtB+raZC+xXTTOepcg== X-Received: by 2002:a05:600c:46d2:b0:4a1:7ec7:a479 with SMTP id 5b1f17b1804b1-4ac1980118cmr155693645e9.33.1793528584150; Sun, 01 Nov 2026 02:23:04 -0800 (PST) Received: from [192.168.0.161] (78-154-14-127.ip.btc-net.bg. [78.154.14.127]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4ac0a66caefsm151902005e9.5.2026.11.01.02.23.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 01 Nov 2026 02:23:03 -0800 (PST) Message-ID: Date: Sun, 1 Nov 2026 12:23:01 +0200 X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net v3 3/5] ipv6: restrict mld_qrv to 255 Content-Language: en-US, bg To: Jiayuan Chen , netdev@vger.kernel.org Cc: stable@vger.kernel.org, Fernando Fernandez Mancera , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Jonathan Corbet , Shuah Khan , Randy Dunlap , David Ahern , Ido Schimmel , Thomas Gleixner , Joel Granados , Petr Pavlu , Kuniyuki Iwashima , Maoyi Xie , Gerd Rausch , Oleg Nesterov , Chia-Yu Chang , Yung Chih Su , Wyatt Feng , Hannes Frederic Sowa , Flavio Leitner , "Paul E. McKenney" , Petr Mladek , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org References: <20261101061331.286404-1-jiayuan.chen@linux.dev> <20261101061331.286404-4-jiayuan.chen@linux.dev> From: Nikolay Aleksandrov In-Reply-To: <20261101061331.286404-4-jiayuan.chen@linux.dev> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 01/11/2026 08:12, Jiayuan Chen wrote: > net.ipv6.mld_qrv only has a lower bound, but ipv6_mc_reset() stores it > into the u8 inet6_dev::mc_qrv, so 256 wraps to 0 and the first MLDv2 > Query received on the interface trips the WARN_ON() in mld_update_qrv(): > > WARN_ON(idev->mc_qrv == 0); > > WARNING: net/ipv6/mcast.c:1327 at mld_query_work+0x1fd2/0x2cb0, CPU#3: kworker/3:1/2688 > Workqueue: mld mld_query_work > RIP: 0010:mld_query_work+0x1fd2/0x2cb0 > Call Trace: > > process_one_work+0x93a/0x1b20 > worker_thread+0x6d0/0x11d0 > kthread+0x358/0x470 > ret_from_fork+0x5b3/0x820 > ret_from_fork_asm+0x1a/0x30 > > > Make the sysctl a u8 like mc_qrv and switch to proc_dou8vec_minmax(), > which rejects anything above 255, and document it. > > Fixes: 2f711939d2ea ("ipv6: add sysctl_mld_qrv to configure query robustness variable") > Cc: stable@vger.kernel.org > Reviewed-by: Fernando Fernandez Mancera > Signed-off-by: Jiayuan Chen > --- > v2: switched to u8 and proc_dou8vec_minmax(), as suggested by Kuniyuki > Iwashima. > --- > Documentation/networking/ip-sysctl.rst | 2 ++ > include/net/ipv6.h | 2 +- > net/ipv6/mcast.c | 2 +- > net/ipv6/sysctl_net_ipv6.c | 4 ++-- > 4 files changed, 6 insertions(+), 4 deletions(-) > > diff --git a/Documentation/networking/ip-sysctl.rst b/Documentation/networking/ip-sysctl.rst > index 4b19c8d3efda7..71f334f27004e 100644 > --- a/Documentation/networking/ip-sysctl.rst > +++ b/Documentation/networking/ip-sysctl.rst > @@ -2515,6 +2515,8 @@ mld_qrv - INTEGER > > Minimum: 1 (as specified by RFC6636 4.5) > > + Maximum: 255 > + > max_dst_opts_number - INTEGER > Maximum number of non-padding TLVs allowed in a Destination > options extension header. If this value is less than zero > diff --git a/include/net/ipv6.h b/include/net/ipv6.h > index 3de07e738538f..4901a92066e61 100644 > --- a/include/net/ipv6.h > +++ b/include/net/ipv6.h > @@ -205,7 +205,7 @@ struct sk_buff *ip6_frag_next(struct sk_buff *skb, > > /* sysctls */ > extern int sysctl_mld_max_msf; > -extern int sysctl_mld_qrv; > +extern u8 sysctl_mld_qrv; > > #define _DEVINC(net, statname, mod, idev, field) \ > ({ \ > diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c > index ecef55f261890..13f31132e0f97 100644 > --- a/net/ipv6/mcast.c > +++ b/net/ipv6/mcast.c > @@ -106,7 +106,7 @@ static int __ipv6_dev_mc_inc(struct net_device *dev, > #define IPV6_MLD_MAX_MSF 64 > > int sysctl_mld_max_msf __read_mostly = IPV6_MLD_MAX_MSF; > -int sysctl_mld_qrv __read_mostly = MLD_QRV_DEFAULT; > +u8 sysctl_mld_qrv __read_mostly = MLD_QRV_DEFAULT; > > #define mc_assert_locked(idev) \ > lockdep_assert_held(&(idev)->mc_lock) > diff --git a/net/ipv6/sysctl_net_ipv6.c b/net/ipv6/sysctl_net_ipv6.c > index 1a0a36dcdabc1..f3ac04dbc71d0 100644 > --- a/net/ipv6/sysctl_net_ipv6.c > +++ b/net/ipv6/sysctl_net_ipv6.c > @@ -226,9 +226,9 @@ static struct ctl_table ipv6_rotable[] = { > { > .procname = "mld_qrv", > .data = &sysctl_mld_qrv, > - .maxlen = sizeof(int), > + .maxlen = sizeof(u8), > .mode = 0644, > - .proc_handler = proc_dointvec_minmax, > + .proc_handler = proc_dou8vec_minmax, > .extra1 = SYSCTL_ONE > }, > #ifdef CONFIG_NETLABEL Reviewed-by: Nikolay Aleksandrov