x32: fix waitid()
[platform/adaptation/renesas_rcar/renesas_kernel.git] / kernel / compat.c
index 0770ac5..e5cc33c 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;
        }