Messages in this thread | | | Subject | Re: [PATCH 05/11] x86/fpu: set PKRU state for kernel threads | From | Andy Lutomirski <> | Date | Fri, 19 Oct 2018 09:59:00 -0700 |
| |
> On Oct 19, 2018, at 12:44 AM, Paolo Bonzini <pbonzini@redhat.com> wrote: > > On 18/10/2018 22:46, Andy Lutomirski wrote: >>> [0] drivers/usb/gadget/function/f_fs.c::ffs_user_copy_worker() >>> >>> Sebastian >> I think we need an entirely new API: >> >> user_mm_ctx_t ctx = user_mm_ctx_get(); >> >> ... >> >> use_user_mm_ctx(ctx); >> unuse_user_mm_ctx(ctx); >> >> ... >> >> user_mm_ctx_put(ctx); >> >> and ctx will store a copy of mm and PKRU. >> > > That looks like a good API in general. The ffs_user_copy_worker that > Sebastian mentioned seems to be used by AIO, in which case of course it > has to happen in a kernel thread. > > But while the API is good, deciding on the desired semantics is > "interesting". The submitting thread might be changing PKRU between the > time the I/O operation is submitted and the time it is completed, for > example.
I think there’s only one sensible answer: capture PKRU at the time of submission.
| |