diff options
author | Deepa Dinamani <deepa.kernel@gmail.com> | 2017-06-24 11:45:03 -0700 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2017-06-25 21:58:46 -0400 |
commit | d5b7ffbfbdacc29e4db035f90665951668fa9c58 (patch) | |
tree | dcea264738eabb691f4239f7981040739230f683 /include/linux/time.h | |
parent | f59dd9c886acb3abb188e8e94a99436560976835 (diff) | |
download | linux-d5b7ffbfbdacc29e4db035f90665951668fa9c58.tar.gz linux-d5b7ffbfbdacc29e4db035f90665951668fa9c58.tar.bz2 linux-d5b7ffbfbdacc29e4db035f90665951668fa9c58.zip |
time: introduce {get,put}_itimerspec64
As we change the user space type for the timerfd and posix timer
functions to newer data types, we need some form of conversion
helpers to avoid duplicating that logic.
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/linux/time.h')
-rw-r--r-- | include/linux/time.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/time.h b/include/linux/time.h index 36afb579495f..f9858d7e6361 100644 --- a/include/linux/time.h +++ b/include/linux/time.h @@ -12,6 +12,10 @@ int get_timespec64(struct timespec64 *ts, const struct timespec __user *uts); int put_timespec64(const struct timespec64 *ts, struct timespec __user *uts); +int get_itimerspec64(struct itimerspec64 *it, + const struct itimerspec __user *uit); +int put_itimerspec64(const struct itimerspec64 *it, + struct itimerspec __user *uit); #define TIME_T_MAX (time_t)((1UL << ((sizeof(time_t) << 3) - 1)) - 1) @@ -275,4 +279,13 @@ static __always_inline void timespec_add_ns(struct timespec *a, u64 ns) a->tv_nsec = ns; } +static inline bool itimerspec64_valid(const struct itimerspec64 *its) +{ + if (!timespec64_valid(&(its->it_interval)) || + !timespec64_valid(&(its->it_value))) + return false; + + return true; +} + #endif |