mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2026-01-27 21:56:34 +00:00
sysctl: range checking in do_proc_dointvec_ms_jiffies_conv
When (integer) sysctl values are expressed in ms and have to be
represented internally as jiffies. The msecs_to_jiffies function
returns an unsigned long, which gets assigned to the integer.
This patch prevents the value to be assigned if bigger than
INT_MAX, done in a similar way as in cba9f3 ("Range checking in
do_proc_dointvec_(userhz_)jiffies_conv").
Signed-off-by: Francesco Fusco <ffusco@redhat.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: linux-kernel@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
555445cd11
commit
d738ce8fdc
@ -2346,7 +2346,11 @@ static int do_proc_dointvec_ms_jiffies_conv(bool *negp, unsigned long *lvalp,
|
||||
int write, void *data)
|
||||
{
|
||||
if (write) {
|
||||
*valp = msecs_to_jiffies(*negp ? -*lvalp : *lvalp);
|
||||
unsigned long jif = msecs_to_jiffies(*negp ? -*lvalp : *lvalp);
|
||||
|
||||
if (jif > INT_MAX)
|
||||
return 1;
|
||||
*valp = (int)jif;
|
||||
} else {
|
||||
int val = *valp;
|
||||
unsigned long lval;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user