[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20250903115648.3126719-1-yuehaibing@huawei.com>
Date: Wed, 3 Sep 2025 19:56:48 +0800
From: Yue Haibing <yuehaibing@...wei.com>
To: <davem@...emloft.net>, <dsahern@...nel.org>, <edumazet@...gle.com>,
<kuba@...nel.org>, <pabeni@...hat.com>, <horms@...nel.org>
CC: <netdev@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<yuehaibing@...wei.com>
Subject: [PATCH v2 net-next] ipv6: Add sanity checks on ipv6_devconf.seg6_enabled
In ipv6_srh_rcv() we use min(net->ipv6.devconf_all->seg6_enabled,
idev->cnf.seg6_enabled) is intended to return 0 when either value is zero,
but if one of the values is negative it will in fact return non-zero.
Signed-off-by: Yue Haibing <yuehaibing@...wei.com>
---
v2: use proc_dointvec_minmax()
---
net/ipv6/addrconf.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 40e9c336f6c5..69ec9cb6031e 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -7192,7 +7192,9 @@ static const struct ctl_table addrconf_sysctl[] = {
.data = &ipv6_devconf.seg6_enabled,
.maxlen = sizeof(int),
.mode = 0644,
- .proc_handler = proc_dointvec,
+ .proc_handler = proc_dointvec_minmax,
+ .extra1 = SYSCTL_ZERO,
+ .extra2 = SYSCTL_ONE,
},
#ifdef CONFIG_IPV6_SEG6_HMAC
{
--
2.34.1
Powered by blists - more mailing lists