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 >