X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=kernel%2Fcompat.c;h=f6c204f07ea6084c4849d52358d6b1b2aab1f0da;hb=ee949a86b3aef15845ea677aa60231008de62672;hp=d52e2ec1deb59d521d3a8c89c230a68d41c33d3e;hpb=a45185d2d7108b01b90b9e0293377be4d6346dde;p=safe%2Fjmp%2Flinux-2.6 diff --git a/kernel/compat.c b/kernel/compat.c index d52e2ec..f6c204f 100644 --- a/kernel/compat.c +++ b/kernel/compat.c @@ -24,6 +24,7 @@ #include #include #include +#include #include @@ -229,6 +230,7 @@ asmlinkage long compat_sys_times(struct compat_tms __user *tbuf) if (copy_to_user(tbuf, &tmp, sizeof(tmp))) return -EFAULT; } + force_successful_syscall_return(); return compat_jiffies_to_clock_t(jiffies); } @@ -880,6 +882,17 @@ compat_sys_rt_sigtimedwait (compat_sigset_t __user *uthese, } +asmlinkage long +compat_sys_rt_tgsigqueueinfo(compat_pid_t tgid, compat_pid_t pid, int sig, + struct compat_siginfo __user *uinfo) +{ + siginfo_t info; + + if (copy_siginfo_from_user32(&info, uinfo)) + return -EFAULT; + return do_rt_tgsigqueueinfo(tgid, pid, sig, &info); +} + #ifdef __ARCH_WANT_COMPAT_SYS_TIME /* compat_time_t is a 32 bit "long" and needs to get converted. */ @@ -894,8 +907,9 @@ asmlinkage long compat_sys_time(compat_time_t __user * tloc) if (tloc) { if (put_user(i,tloc)) - i = -EFAULT; + return -EFAULT; } + force_successful_syscall_return(); return i; }