On Wed, Jul 24, 2019 at 4:47 PM Christian Brauner <christian@xxxxxxxxxx> wrote: > + > +static int copy_rusage_to_user_any(struct rusage *kru, struct rusage __user *ru) > +{ > +#ifdef CONFIG_COMPAT > + if (in_compat_syscall()) > + return put_compat_rusage(kru, (struct compat_rusage __user *)ru); > +#endif > + return copy_to_user(ru, kru, sizeof(*kru)); > +} I think this code needs a check for COMPAT_USE_64BIT_TIME in order to handle x32 correctly. It would be nice to introduce it in a separate patch, and then use it to kill off compat_sys_getrusage() and compat_sys_wait4(), and possibly even compat_sys_waitid() in combination with your copy_siginfo_to_user_any(). That could be done as a cleanup patch afterwards, or as part of your series. Arnd