summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/time.h4
-rw-r--r--include/linux/time64.h1
-rw-r--r--include/uapi/linux/time.h7
-rw-r--r--kernel/time/time.c4
4 files changed, 12 insertions, 4 deletions
diff --git a/include/linux/time.h b/include/linux/time.h
index aed74463592d..27d83fd2ae61 100644
--- a/include/linux/time.h
+++ b/include/linux/time.h
@@ -14,9 +14,9 @@ int get_timespec64(struct timespec64 *ts,
14int put_timespec64(const struct timespec64 *ts, 14int put_timespec64(const struct timespec64 *ts,
15 struct __kernel_timespec __user *uts); 15 struct __kernel_timespec __user *uts);
16int get_itimerspec64(struct itimerspec64 *it, 16int get_itimerspec64(struct itimerspec64 *it,
17 const struct itimerspec __user *uit); 17 const struct __kernel_itimerspec __user *uit);
18int put_itimerspec64(const struct itimerspec64 *it, 18int put_itimerspec64(const struct itimerspec64 *it,
19 struct itimerspec __user *uit); 19 struct __kernel_itimerspec __user *uit);
20 20
21extern time64_t mktime64(const unsigned int year, const unsigned int mon, 21extern time64_t mktime64(const unsigned int year, const unsigned int mon,
22 const unsigned int day, const unsigned int hour, 22 const unsigned int day, const unsigned int hour,
diff --git a/include/linux/time64.h b/include/linux/time64.h
index 0a7b2f79cec7..05634afba0db 100644
--- a/include/linux/time64.h
+++ b/include/linux/time64.h
@@ -12,6 +12,7 @@ typedef __u64 timeu64_t;
12 */ 12 */
13#ifndef CONFIG_64BIT_TIME 13#ifndef CONFIG_64BIT_TIME
14#define __kernel_timespec timespec 14#define __kernel_timespec timespec
15#define __kernel_itimerspec itimerspec
15#endif 16#endif
16 17
17#include <uapi/linux/time.h> 18#include <uapi/linux/time.h>
diff --git a/include/uapi/linux/time.h b/include/uapi/linux/time.h
index fcf936656493..6b56a2208be7 100644
--- a/include/uapi/linux/time.h
+++ b/include/uapi/linux/time.h
@@ -49,6 +49,13 @@ struct __kernel_timespec {
49}; 49};
50#endif 50#endif
51 51
52#ifndef __kernel_itimerspec
53struct __kernel_itimerspec {
54 struct __kernel_timespec it_interval; /* timer period */
55 struct __kernel_timespec it_value; /* timer expiration */
56};
57#endif
58
52/* 59/*
53 * legacy timeval structure, only embedded in structures that 60 * legacy timeval structure, only embedded in structures that
54 * traditionally used 'timeval' to pass time intervals (not absolute 61 * traditionally used 'timeval' to pass time intervals (not absolute
diff --git a/kernel/time/time.c b/kernel/time/time.c
index b1225db61eb2..c0195225fdce 100644
--- a/kernel/time/time.c
+++ b/kernel/time/time.c
@@ -927,7 +927,7 @@ int compat_put_timespec64(const struct timespec64 *ts, void __user *uts)
927EXPORT_SYMBOL_GPL(compat_put_timespec64); 927EXPORT_SYMBOL_GPL(compat_put_timespec64);
928 928
929int get_itimerspec64(struct itimerspec64 *it, 929int get_itimerspec64(struct itimerspec64 *it,
930 const struct itimerspec __user *uit) 930 const struct __kernel_itimerspec __user *uit)
931{ 931{
932 int ret; 932 int ret;
933 933
@@ -942,7 +942,7 @@ int get_itimerspec64(struct itimerspec64 *it,
942EXPORT_SYMBOL_GPL(get_itimerspec64); 942EXPORT_SYMBOL_GPL(get_itimerspec64);
943 943
944int put_itimerspec64(const struct itimerspec64 *it, 944int put_itimerspec64(const struct itimerspec64 *it,
945 struct itimerspec __user *uit) 945 struct __kernel_itimerspec __user *uit)
946{ 946{
947 int ret; 947 int ret;
948 948