diff --git a/kernel/sysctl.c b/kernel/sysctl.c index c140659db669..24c7fe8608d0 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -2461,8 +2461,10 @@ static int __do_proc_doulongvec_minmax(void *data, struct ctl_table *table, int if (neg) continue; val = convmul * val / convdiv; - if ((min && val < *min) || (max && val > *max)) - continue; + if ((min && val < *min) || (max && val > *max)) { + err = -EINVAL; + break; + } *i = val; } else { val = convdiv * (*i) / convmul;