lkml.org 
[lkml]   [2014]   [Dec]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] time: adjtimex: validate the ADJ_FREQUENCY case
Date
Verify that the frequency value from userspace is valid and makes sense.

Unverified values can cause overflows later on.

Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
---
kernel/time/ntp.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
index 87a346f..54828cf 100644
--- a/kernel/time/ntp.c
+++ b/kernel/time/ntp.c
@@ -633,6 +633,15 @@ int ntp_validate_timex(struct timex *txc)
if ((txc->modes & ADJ_SETOFFSET) && (!capable(CAP_SYS_TIME)))
return -EPERM;

+ if (txc->modes & ADJ_FREQUENCY) {
+ if (!capable(CAP_SYS_TIME))
+ return -EPERM;
+ if (txc->freq < 0)
+ return -EINVAL;
+ if (LONG_MAX / PPM_SCALE < txc->freq)
+ return -EINVAL;
+ }
+
return 0;
}

--
1.7.10.4


\
 
 \ /
  Last update: 2014-12-04 02:01    [W:0.074 / U:0.292 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site