@ -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 )