aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2024-03-25 02:52:03 +0000
committerZhenlei Huang <zlei@FreeBSD.org>2024-06-26 04:48:44 +0000
commitd366b4931519acf90a8e76d95356b0e4140aaf40 (patch)
tree1770416c1483162a2df86971f934a8bc74914d91
parentb544e62dd00f167a3d8b4df3dd31fcd7bf1873a8 (diff)
icmp: allow zero value for ICMP limits
Zero means limit is disabled, so the value doesn't need to be checked against jitter value. Fixes: ac44739fd834f51cacb26485a4140fd482e20150 Fixes: a03aff88a14448c3084a0384082ec996d7213897 (cherry picked from commit 4399e055ea610cdefa1470ad1ee614dd81ba5e56)
-rw-r--r--sys/netinet/ip_icmp.c2
-rw-r--r--sys/netinet6/icmp6.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c
index dcf387aa3c1c..67fb56dcdfa2 100644
--- a/sys/netinet/ip_icmp.c
+++ b/sys/netinet/ip_icmp.c
@@ -1137,7 +1137,7 @@ sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS)
error = sysctl_handle_int(oidp, &new, 0, req);
if (error == 0 && req->newptr) {
if (lim) {
- if (new <= V_icmplim_jitter)
+ if (new != 0 && new <= V_icmplim_jitter)
error = EINVAL;
else
V_icmplim = new;
diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c
index 4bce366c7ed4..c03c90e566c3 100644
--- a/sys/netinet6/icmp6.c
+++ b/sys/netinet6/icmp6.c
@@ -2806,7 +2806,7 @@ sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS)
error = sysctl_handle_int(oidp, &new, 0, req);
if (error == 0 && req->newptr) {
if (lim) {
- if (new <= V_icmp6lim_jitter)
+ if (new != 0 && new <= V_icmp6lim_jitter)
error = EINVAL;
else
V_icmp6errppslim = new;