mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 11:16:11 +00:00
[PATCH] hrtimer: create and use timespec_valid macro
add timespec_valid(ts) [returns false if the timespec is denorm] Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
2a69897194
commit
5f82b2b77e
2 changed files with 8 additions and 3 deletions
|
@ -44,6 +44,12 @@ extern unsigned long mktime(const unsigned int year, const unsigned int mon,
|
|||
|
||||
extern void set_normalized_timespec(struct timespec *ts, time_t sec, long nsec);
|
||||
|
||||
/*
|
||||
* Returns true if the timespec is norm, false if denorm:
|
||||
*/
|
||||
#define timespec_valid(ts) \
|
||||
(((ts)->tv_sec >= 0) && (((unsigned) (ts)->tv_nsec) < NSEC_PER_SEC))
|
||||
|
||||
extern struct timespec xtime;
|
||||
extern struct timespec wall_to_monotonic;
|
||||
extern seqlock_t xtime_lock;
|
||||
|
|
|
@ -712,8 +712,7 @@ out:
|
|||
*/
|
||||
static int good_timespec(const struct timespec *ts)
|
||||
{
|
||||
if ((!ts) || (ts->tv_sec < 0) ||
|
||||
((unsigned) ts->tv_nsec >= NSEC_PER_SEC))
|
||||
if ((!ts) || !timespec_valid(ts))
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
@ -1406,7 +1405,7 @@ sys_clock_nanosleep(const clockid_t which_clock, int flags,
|
|||
if (copy_from_user(&t, rqtp, sizeof (struct timespec)))
|
||||
return -EFAULT;
|
||||
|
||||
if ((unsigned) t.tv_nsec >= NSEC_PER_SEC || t.tv_sec < 0)
|
||||
if (!timespec_valid(&t))
|
||||
return -EINVAL;
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue