> On Oct 19, 2018, at 10:01 AM, Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> wrote: > > On 10/19/2018 09:59 AM, Andy Lutomirski wrote: >>> 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. > > I think it's much more straightforward to just not enforce pkeys. > Having this "phantom" value could cause a very odd, nearly undebuggable > I/O failure. But now we have the reverse. The IO can work if it’s truly async but, if the kernel decides to synchronously complete IO (with GUP or copy_to_user), it’ll fail, right. This isn’t exactly friendly either.