diff options
author | Jaehee Park <jhpark1013@gmail.com> | 2022-07-20 14:36:32 -0400 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2022-07-21 19:11:10 -0700 |
commit | b66eb3a6e427b059101c6c92ac2ddd899014634c (patch) | |
tree | e581fe1728b8971985287f5cade945b5c0530e70 /net/ipv6 | |
parent | 842463f253abde9a0de19a4b9e83a6c28ac9364b (diff) | |
download | linux-b66eb3a6e427b059101c6c92ac2ddd899014634c.tar.gz linux-b66eb3a6e427b059101c6c92ac2ddd899014634c.tar.bz2 linux-b66eb3a6e427b059101c6c92ac2ddd899014634c.zip |
net: ipv6: avoid accepting values greater than 2 for accept_untracked_na
The accept_untracked_na sysctl changed from a boolean to an integer
when a new knob '2' was added. This patch provides a safeguard to avoid
accepting values that are not defined in the sysctl. When setting a
value greater than 2, the user will get an 'invalid argument' warning.
Fixes: aaa5f515b16b ("net: ipv6: new accept_untracked_na option to accept na only if in-network")
Signed-off-by: Jaehee Park <jhpark1013@gmail.com>
Suggested-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Suggested-by: Roopa Prabhu <roopa@nvidia.com>
Reviewed-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Link: https://lore.kernel.org/r/20220720183632.376138-1-jhpark1013@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/addrconf.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 6ed807b6c647..b624e3d8c5f0 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -7042,9 +7042,9 @@ static const struct ctl_table addrconf_sysctl[] = { .data = &ipv6_devconf.accept_untracked_na, .maxlen = sizeof(int), .mode = 0644, - .proc_handler = proc_dointvec, - .extra1 = (void *)SYSCTL_ZERO, - .extra2 = (void *)SYSCTL_ONE, + .proc_handler = proc_dointvec_minmax, + .extra1 = SYSCTL_ZERO, + .extra2 = SYSCTL_TWO, }, { /* sentinel */ |