On Thu, May 8, 2025 at 3:01 AM Matt Bobrowski <mattbobrowski@xxxxxxxxxx> wrote: > > On Wed, May 07, 2025 at 08:40:37AM +0200, Viktor Malik wrote: > > Define a pagefault lock guard which allows to simplify functions that > > need to disable page faults. > > > > Signed-off-by: Viktor Malik <vmalik@xxxxxxxxxx> > > --- > > include/linux/uaccess.h | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/include/linux/uaccess.h b/include/linux/uaccess.h > > index 7c06f4795670..1beb5b395d81 100644 > > --- a/include/linux/uaccess.h > > +++ b/include/linux/uaccess.h > > @@ -296,6 +296,8 @@ static inline bool pagefault_disabled(void) > > */ > > #define faulthandler_disabled() (pagefault_disabled() || in_atomic()) > > > > +DEFINE_LOCK_GUARD_0(pagefault, pagefault_disable(), pagefault_enable()) > > I can't help but mention that naming this scope-based cleanup helper > `pagefault` just seems overly ambiguous. That's just me though... I do see the concern, but DEFINE_LOCK_GUARD_0(preempt, preempt_disable(), preempt_enable()) DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) so we are just staying consistent here? But also "guard (against) the pagefault" does (internally) read somewhat meaningfully, no?