ARM: OMAP2/3: CM: fix cm_split_idlest functionality
[sfrench/cifs-2.6.git] / ipc / mqueue.c
index eb1391b52c6f84fe75dec4e8366d858341ac665a..d240256263103f89972ab5e62201549a7074a829 100644 (file)
@@ -668,11 +668,11 @@ static void __do_notify(struct mqueue_inode_info *info)
 }
 
 static int prepare_timeout(const struct timespec __user *u_abs_timeout,
-                          struct timespec *ts)
+                          struct timespec64 *ts)
 {
-       if (copy_from_user(ts, u_abs_timeout, sizeof(struct timespec)))
+       if (get_timespec64(ts, u_abs_timeout))
                return -EFAULT;
-       if (!timespec_valid(ts))
+       if (!timespec64_valid(ts))
                return -EINVAL;
        return 0;
 }
@@ -962,7 +962,7 @@ static inline void pipelined_receive(struct wake_q_head *wake_q,
 
 static int do_mq_timedsend(mqd_t mqdes, const char __user *u_msg_ptr,
                size_t msg_len, unsigned int msg_prio,
-               struct timespec *ts)
+               struct timespec64 *ts)
 {
        struct fd f;
        struct inode *inode;
@@ -979,7 +979,7 @@ static int do_mq_timedsend(mqd_t mqdes, const char __user *u_msg_ptr,
                return -EINVAL;
 
        if (ts) {
-               expires = timespec_to_ktime(*ts);
+               expires = timespec64_to_ktime(*ts);
                timeout = &expires;
        }
 
@@ -1080,7 +1080,7 @@ out:
 
 static int do_mq_timedreceive(mqd_t mqdes, char __user *u_msg_ptr,
                size_t msg_len, unsigned int __user *u_msg_prio,
-               struct timespec *ts)
+               struct timespec64 *ts)
 {
        ssize_t ret;
        struct msg_msg *msg_ptr;
@@ -1092,7 +1092,7 @@ static int do_mq_timedreceive(mqd_t mqdes, char __user *u_msg_ptr,
        struct posix_msg_tree_node *new_leaf = NULL;
 
        if (ts) {
-               expires = timespec_to_ktime(*ts);
+               expires = timespec64_to_ktime(*ts);
                timeout = &expires;
        }
 
@@ -1184,7 +1184,7 @@ SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr,
                size_t, msg_len, unsigned int, msg_prio,
                const struct timespec __user *, u_abs_timeout)
 {
-       struct timespec ts, *p = NULL;
+       struct timespec64 ts, *p = NULL;
        if (u_abs_timeout) {
                int res = prepare_timeout(u_abs_timeout, &ts);
                if (res)
@@ -1198,7 +1198,7 @@ SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr,
                size_t, msg_len, unsigned int __user *, u_msg_prio,
                const struct timespec __user *, u_abs_timeout)
 {
-       struct timespec ts, *p = NULL;
+       struct timespec64 ts, *p = NULL;
        if (u_abs_timeout) {
                int res = prepare_timeout(u_abs_timeout, &ts);
                if (res)
@@ -1475,11 +1475,11 @@ COMPAT_SYSCALL_DEFINE4(mq_open, const char __user *, u_name,
 }
 
 static int compat_prepare_timeout(const struct compat_timespec __user *p,
-                                  struct timespec *ts)
+                                  struct timespec64 *ts)
 {
-       if (compat_get_timespec(ts, p))
+       if (compat_get_timespec64(ts, p))
                return -EFAULT;
-       if (!timespec_valid(ts))
+       if (!timespec64_valid(ts))
                return -EINVAL;
        return 0;
 }
@@ -1489,7 +1489,7 @@ COMPAT_SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes,
                       compat_size_t, msg_len, unsigned int, msg_prio,
                       const struct compat_timespec __user *, u_abs_timeout)
 {
-       struct timespec ts, *p = NULL;
+       struct timespec64 ts, *p = NULL;
        if (u_abs_timeout) {
                int res = compat_prepare_timeout(u_abs_timeout, &ts);
                if (res)
@@ -1504,7 +1504,7 @@ COMPAT_SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes,
                       compat_size_t, msg_len, unsigned int __user *, u_msg_prio,
                       const struct compat_timespec __user *, u_abs_timeout)
 {
-       struct timespec ts, *p = NULL;
+       struct timespec64 ts, *p = NULL;
        if (u_abs_timeout) {
                int res = compat_prepare_timeout(u_abs_timeout, &ts);
                if (res)