On Fri, Jul 26, 2019 at 10:19:55AM +0200, Arnd Bergmann wrote: > 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. Similar to waitid(), indeed. > > 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. Right, but we won't go the syscall route but instead go the P_PIDFD route for waitid(). :) Christian