summaryrefslogtreecommitdiff
path: root/kernel/sysctl.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2017-04-20 16:05:13 +0200
committerThomas Gleixner <tglx@linutronix.de>2017-04-20 16:05:13 +0200
commit7a258ff04f9d5fe549fed6d03931a0236587047e (patch)
tree6b164332c2a3983d972cc4dc47af3fce6cc5dc32 /kernel/sysctl.c
parent382bd4de61827dbaaf5fb4fb7b1f4be4a86505e7 (diff)
parentf61143c45077df4fa78e2f1ba455a00bbe1d5b8c (diff)
Merge branch 'linus' into irq/core
Pick up upstream fixes to avoid conflicts with pending patches.
Diffstat (limited to 'kernel/sysctl.c')
-rw-r--r--kernel/sysctl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index acf0a5a06da7..8c8714fcb53c 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -2133,9 +2133,12 @@ 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;
+ *negp = false;
*lvalp = (unsigned long)val;
}
return 0;