On Fri, Oct 09, 2020 at 12:42:54PM -0700, ira.weiny@xxxxxxxxx wrote: > +static inline void pks_update_protection(int pkey, unsigned long protection) > +{ > + current->thread.saved_pkrs = update_pkey_val(current->thread.saved_pkrs, > + pkey, protection); > + preempt_disable(); > + write_pkrs(current->thread.saved_pkrs); > + preempt_enable(); > +} write_pkrs() already disables preemption itself. Wrapping it in yet another layer is useless.