diff --git a/kernel/sysctl.c b/kernel/sysctl.c index e8c1743fcc10..265e0d0216e3 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -2146,6 +2146,8 @@ static int do_proc_douintvec_conv(bool *negp, unsigned long *lvalp, if (write) { if (*negp) return -EINVAL; + if (*lvalp > UINT_MAX) + return -EINVAL; *valp = *lvalp; } else { unsigned int val = *valp;