Re: [PATCH v3 1/2] epoll: add nsec timeout support with epoll_pwait2

From: Arnd Bergmann
Date: Thu Dec 10 2020 - 15:35:30 EST


On Thu, Dec 10, 2020 at 6:33 PM Willem de Bruijn
<willemdebruijn.kernel@xxxxxxxxx> wrote:
> On Sat, Nov 21, 2020 at 4:27 AM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
> > On Fri, Nov 20, 2020 at 11:28 PM Willem de Bruijn <willemdebruijn.kernel@xxxxxxxxx> wrote:
> > I would imagine this can be done like the way I proposed
> > for get_bitmap() in sys_migrate_pages:
> >
> > https://lore.kernel.org/lkml/20201102123151.2860165-4-arnd@xxxxxxxxxx/
>
> Coming back to this. Current patchset includes new select and poll
> selftests to verify the changes. I need to send a small kselftest
> patch for that first.
>
> Assuming there's no time pressure, I will finish up and send the main
> changes after the merge window, for the next release then.
>
> Current state against linux-next at
> https://github.com/wdebruij/linux-next-mirror/tree/select-compat-1

Ok, sounds good to me. I've had a (very brief) look and have one
suggestion: instead of open-coding the compat vs native mode
in multiple places like

if (!in_compat_syscall())
 return copy_from_user(fdset, ufdset, FDS_BYTES(nr)) ? -EFAULT : 0;
else
 return compat_get_bitmap(fdset, ufdset, nr);

maybe move this into a separate function and call that where needed.

I've done this for the get_bitmap() function in my series at

https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/commit/?h=compat-alloc-user-space-7&id=b1b23ebb12b635654a2060df49455167a142c5d2

The definition is slightly differrent for cpumask, nodemask and fd_set,
so we'd need to try out the best way to structure the code to end
up with the most readable version, but it should be possible when
there are only three callers (and duplicating the function would
be the end of the world either)

Arnd