diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 405806e0650a97a307987083a824c62bc075cfd5..a22bc53edfd2dad5bacc9bf183fe1fdd8306d17b 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -2863,8 +2863,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;