2003-07-06 16:07:48

by Randy Hron

[permalink] [raw]
Subject: [PATCH] fix return of compat_sys_sched_getaffinity

-EFAULT return got buggered when compat_sys_sched_getaffinity
was added in 2.5.68.

--- linux-2.5.74/kernel/compat.c.orig 2003-06-22 15:54:17.000000000 -0400
+++ linux-2.5.74/kernel/compat.c 2003-07-06 11:29:33.000000000 -0400
@@ -425,11 +425,9 @@
&kernel_mask);
set_fs(old_fs);

- if (ret > 0) {
+ if (ret > 0)
if (put_user(kernel_mask, user_mask_ptr))
- ret = -EFAULT;
- ret = sizeof(compat_ulong_t);
- }
+ return -EFAULT;

return ret;
}

--
Randy Hron
http://home.earthlink.net/~rwhron/kernel/bigbox.html


2003-07-06 16:17:53

by Anton Blanchard

[permalink] [raw]
Subject: Re: [PATCH] fix return of compat_sys_sched_getaffinity


> -EFAULT return got buggered when compat_sys_sched_getaffinity
> was added in 2.5.68.

but getaffinity returns sizeof(compat_ulong_t) on success...

Anton

> --- linux-2.5.74/kernel/compat.c.orig 2003-06-22 15:54:17.000000000 -0400
> +++ linux-2.5.74/kernel/compat.c 2003-07-06 11:29:33.000000000 -0400
> @@ -425,11 +425,9 @@
> &kernel_mask);
> set_fs(old_fs);
>
> - if (ret > 0) {
> + if (ret > 0)
> if (put_user(kernel_mask, user_mask_ptr))
> - ret = -EFAULT;
> - ret = sizeof(compat_ulong_t);
> - }
> + return -EFAULT;
>
> return ret;
> }