On 4/21/21 10:01 PM, Suren Baghdasaryan wrote: > On Wed, Apr 7, 2021 at 2:53 PM Suren Baghdasaryan <surenb@xxxxxxxxxx> wrote: >> >> On Wed, Apr 7, 2021 at 12:23 PM Linus Torvalds >> <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: >> > >> > On Wed, Apr 7, 2021 at 11:47 AM Mikulas Patocka <mpatocka@xxxxxxxxxx> wrote: >> > > >> > > So, we fixed it, but we don't know why. >> > > >> > > Peter Xu's patchset that fixed it is here: >> > > https://lore.kernel.org/lkml/20200821234958.7896-1-peterx@xxxxxxxxxx/ >> > >> > Yeah, that's the part that ends up being really painful to backport >> > (with all the subsequent fixes too), so the 4.14 people would prefer >> > to avoid it. >> > >> > But I think that if it's a "requires dax pmem and ptrace on top", it >> > may simply be a non-issue for those users. Although who knows - maybe >> > that ends up being a real issue on Android.. >> >> A lot to digest, so I need to do some reading now. Thanks everyone! > > After a delay due to vacation I prepared backports of 17839856fd58 > ("gup: document and work around "COW can break either way" issue") for > 4.14 and 4.19 kernels. As Linus pointed out, uffd-wp was introduced > later in 5.7, so is not an issue for 4.x kernels. The issue with THPs > is still unresolved, so with or without this patch it's still there > (Android is not affected by this since we do not use THPs with older > kernels). Which THP issue do you mean here? The race that was part of the same Project zero report and was solved by a different patch adding some locking? Or the vmsplice info leak but applied to THP's? Because if it's the latter then I believe 17839856fd58 did solve that too. It was the later switch of approach to rely just on page_count() that left THP side unfixed. > Andrea pointed out that there are other issues and to properly fix > them his COR approach is needed. However it has not been accepted yet, > so I can't really backport it. I'll be happy to do that though if it > is accepted in the future. > > Peter, you mentioned https://lkml.org/lkml/2020/8/10/439 patch to > distinguish real writes vs enforced COW read requests, however I also > see that you had a later version of this patch here: > https://lore.kernel.org/patchwork/patch/1286506/. Which one should I > backport? Or is it not needed in the absence of uffd-wp support in the > earlier kernels? > Thanks, > Suren. > >> >> > >> > Linus >