All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-core] [PATCH] Fix POSIX skin build for 2.4.x
@ 2008-02-21 15:43 Jan Kiszka
  2008-02-21 15:50 ` Gilles Chanteperdrix
  0 siblings, 1 reply; 2+ messages in thread
From: Jan Kiszka @ 2008-02-21 15:43 UTC (permalink / raw)
  To: Gilles Chanteperdrix; +Cc: Xenomai-core

[-- Attachment #1: Type: text/plain, Size: 233 bytes --]

Hi Gilles,

the backport from trunk was borken. This patch makes 2.4.x build again,
but - BIG-FAT-WARNING - I haven't tested the result.

Jan

-- 
Siemens AG, Corporate Technology, CT SE 2
Corporate Competence Center Embedded Linux


[-- Attachment #2: fix-uaccess-tests.patch --]
[-- Type: text/x-patch, Size: 1920 bytes --]

Index: xenomai-2.4.x/ksrc/skins/posix/syscall.c
===================================================================
--- xenomai-2.4.x/ksrc/skins/posix/syscall.c	(Revision 3513)
+++ xenomai-2.4.x/ksrc/skins/posix/syscall.c	(Arbeitskopie)
@@ -1847,7 +1847,7 @@ static int __mq_send(struct task_struct 
 	if (IS_ERR(msg))
 		return PTR_ERR(msg);
 
-	if(__xn_copy_from_user(msg->data,
+	if(__xn_copy_from_user(curr, msg->data,
 			       (void __user *)__xn_reg_arg2(regs), len)) {
 		pse51_mq_finish_send(ufd->kfd, mq, msg);
 		return -EFAULT;
@@ -1903,7 +1903,7 @@ static int __mq_timedsend(struct task_st
 	if (IS_ERR(msg))
 		return PTR_ERR(msg);
 
-	if(__xn_copy_from_user(msg->data,
+	if(__xn_copy_from_user(curr, msg->data,
 			       (void __user *)__xn_reg_arg2(regs), len)) {
 		pse51_mq_finish_send(ufd->kfd, mq, msg);
 		return -EFAULT;
@@ -1952,7 +1952,7 @@ static int __mq_receive(struct task_stru
 	if (IS_ERR(msg))
 		return PTR_ERR(msg);
 
-	if (__xn_copy_to_user((void __user *)__xn_reg_arg2(regs),
+	if (__xn_copy_to_user(curr, (void __user *)__xn_reg_arg2(regs),
 			      msg->data, msg->len)) {
 		pse51_mq_finish_rcv(ufd->kfd, mq, msg);
 		return -EFAULT;
@@ -2029,7 +2029,7 @@ static int __mq_timedreceive(struct task
 	if (IS_ERR(msg))
 		return PTR_ERR(msg);
 
-	if (__xn_copy_to_user((void __user *)__xn_reg_arg2(regs),
+	if (__xn_copy_to_user(curr, (void __user *)__xn_reg_arg2(regs),
 			      msg->data, msg->len)) {
 		pse51_mq_finish_rcv(ufd->kfd, mq, msg);
 		return -EFAULT;
@@ -2041,8 +2041,10 @@ static int __mq_timedreceive(struct task
 	if (err)
 		return err;
 
-	if (__xn_safe_copy_to_user((void __user *)__xn_reg_arg3(regs),
-				   &len, sizeof(len)))
+	if (!__xn_access_ok
+	    (curr, VERIFY_WRITE, __xn_reg_arg3(regs), sizeof(len)) ||
+	    __xn_copy_to_user(curr, (void __user *)__xn_reg_arg3(regs),
+			      &len, sizeof(len)))
 		return -EFAULT;
 
 	if (__xn_reg_arg4(regs))

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Xenomai-core] [PATCH] Fix POSIX skin build for 2.4.x
  2008-02-21 15:43 [Xenomai-core] [PATCH] Fix POSIX skin build for 2.4.x Jan Kiszka
@ 2008-02-21 15:50 ` Gilles Chanteperdrix
  0 siblings, 0 replies; 2+ messages in thread
From: Gilles Chanteperdrix @ 2008-02-21 15:50 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: Xenomai-core

On Thu, Feb 21, 2008 at 4:43 PM, Jan Kiszka <jan.kiszka@domain.hid> wrote:
> Hi Gilles,
>
>  the backport from trunk was borken. This patch makes 2.4.x build again,
>  but - BIG-FAT-WARNING - I haven't tested the result.

I was almost sure I added the additional argument to
xn_copy_from/to_user. It appears I did not. Anyway, I will apply your
patch, thanks.

-- 
 Gilles Chanteperdrix


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-02-21 15:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-21 15:43 [Xenomai-core] [PATCH] Fix POSIX skin build for 2.4.x Jan Kiszka
2008-02-21 15:50 ` Gilles Chanteperdrix

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.