On Wed, Apr 21, 2021 at 3:59 PM Vlastimil Babka vbabka@suse.cz wrote:
On 4/21/21 10:01 PM, Suren Baghdasaryan wrote:
On Wed, Apr 7, 2021 at 2:53 PM Suren Baghdasaryan surenb@google.com wrote:
On Wed, Apr 7, 2021 at 12:23 PM Linus Torvalds torvalds@linux-foundation.org wrote:
On Wed, Apr 7, 2021 at 11:47 AM Mikulas Patocka mpatocka@redhat.com 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@redhat.com/
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.
I meant the "vmsplice info leak applied to THP's" but now I realize that 17839856fd58 does not use elevated reference count, so indeed that should not be a problem. Thanks for the note!
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