]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - kernel/compat.c
x32: fix waitid()
[karo-tx-linux.git] / kernel / compat.c
index 0770ac57c62b117f857ba8f0aaaeb5dc1d5ab80d..e5cc33c7122c2399f10085f5beff6afa61c0ae7f 100644 (file)
@@ -587,7 +587,11 @@ COMPAT_SYSCALL_DEFINE5(waitid,
                return ret;
 
        if (uru) {
-               ret = put_compat_rusage(&ru, uru);
+               /* sys_waitid() overwrites everything in ru */
+               if (COMPAT_USE_64BIT_TIME)
+                       ret = copy_to_user(uru, &ru, sizeof(ru));
+               else
+                       ret = put_compat_rusage(&ru, uru);
                if (ret)
                        return ret;
        }