Re: [PATCH v2 2/6] userfaultfd: add /dev/userfaultfd for fine grained access control

From: Axel Rasmussen
Date: Tue Apr 26 2022 - 17:34:10 EST


On Tue, Apr 26, 2022 at 1:33 PM Peter Xu <peterx@xxxxxxxxxx> wrote:
>
> Axel,
>
> On Fri, Apr 22, 2022 at 02:29:41PM -0700, Axel Rasmussen wrote:
> > @@ -65,6 +66,8 @@ struct userfaultfd_ctx {
> > unsigned int flags;
> > /* features requested from the userspace */
> > unsigned int features;
> > + /* whether or not to handle kernel faults */
> > + bool handle_kernel_faults;
>
> Could you help explain why we need this bool? I failed to figure out
> myself on the difference against "!(ctx->flags & UFFD_USER_MODE_ONLY)".

Ah, yeah you're right, we can get rid of it and just rely on
UFFD_USER_MODE_ONLY.

Just to add context, in a previous version I never sent out, I had:

ctx->handle_kernel_faults = userfaultfd_allowed(...);

That's wrong for other reasons, but if we were going to do that we'd
have to store the result, since it's a function not just of the flags,
but also of the method used to create the userfaultfd. I changed this
without also dropping the boolean, which can now be cleaned up. I'll
include this change in a v3.

>
> Thanks,
>
> --
> Peter Xu
>