[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20140314184347.GY366@sirena.org.uk>
Date: Fri, 14 Mar 2014 18:43:47 +0000
From: Mark Brown <broonie@...nel.org>
To: Heiko Carstens <heiko.carstens@...ibm.com>,
"H. Peter Anvin" <hpa@...ux.intel.com>
Cc: linux-next@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: linux-next: manual merge of the compat tree with the tree
On Fri, Mar 14, 2014 at 06:36:53PM +0000, Mark Brown wrote:
> Today's linux-next merge of the compat tree got a conflict in between
> commit 81993e81a99 ("compat: Get rid of
> (get|put)_compat_time(val|spec)") from the tip tree and commit
> 932602e23832 ("fs/compat: convert to COMPAT_SYSCALL_DEFINE with
> changing parameter types") from the compat tree.
> I fixed it up (see below) and can carry the fix as necessary (no action
> is required).
And essentially the same thing in ipc/compat_mq.c:
diff --cc ipc/compat_mq.c
index a9cf16378d7a,d58747293772..000000000000
--- a/ipc/compat_mq.c
+++ b/ipc/compat_mq.c
@@@ -64,10 -64,24 +64,10 @@@ COMPAT_SYSCALL_DEFINE4(mq_open, const c
return sys_mq_open(u_name, oflag, mode, p);
}
- asmlinkage long compat_sys_mq_timedsend(mqd_t mqdes,
- const char __user *u_msg_ptr,
- size_t msg_len, unsigned int msg_prio,
- const struct compat_timespec __user *u_abs_timeout)
-static int compat_prepare_timeout(struct timespec __user **p,
- const struct compat_timespec __user *u)
-{
- struct timespec ts;
- if (!u) {
- *p = NULL;
- return 0;
- }
- *p = compat_alloc_user_space(sizeof(ts));
- if (get_compat_timespec(&ts, u) || copy_to_user(*p, &ts, sizeof(ts)))
- return -EFAULT;
- return 0;
-}
-
+ COMPAT_SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes,
+ const char __user *, u_msg_ptr,
+ compat_size_t, msg_len, unsigned int, msg_prio,
+ const struct compat_timespec __user *, u_abs_timeout)
{
struct timespec __user *u_ts;
@@@ -78,14 -92,13 +78,14 @@@
msg_prio, u_ts);
}
- asmlinkage ssize_t compat_sys_mq_timedreceive(mqd_t mqdes,
- char __user *u_msg_ptr,
- size_t msg_len, unsigned int __user *u_msg_prio,
- const struct compat_timespec __user *u_abs_timeout)
+ COMPAT_SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes,
+ char __user *, u_msg_ptr,
+ compat_size_t, msg_len, unsigned int __user *, u_msg_prio,
+ const struct compat_timespec __user *, u_abs_timeout)
{
struct timespec __user *u_ts;
- if (compat_prepare_timeout(&u_ts, u_abs_timeout))
+
+ if (compat_convert_timespec(&u_ts, u_abs_timeout))
return -EFAULT;
return sys_mq_timedreceive(mqdes, u_msg_ptr, msg_len,
Download attachment "signature.asc" of type "application/pgp-signature" (837 bytes)
Powered by blists - more mailing lists