Re: [PATCH 1/2] mm/uffd: Fix vma check on userfault for wp

From: Peter Xu
Date: Mon Oct 24 2022 - 19:42:04 EST


On Mon, Oct 24, 2022 at 03:33:35PM -0400, Peter Xu wrote:
> We used to have a report that pte-marker code can be reached even when
> uffd-wp is not compiled in for file memories, here:
>
> https://lore.kernel.org/all/YzeR+R6b4bwBlBHh@x1n/T/#u
>
> I just got time to revisit this and found that the root cause is we simply
> messed up with the vma check, so that for !PTE_MARKER_UFFD_WP system, we
> will allow UFFDIO_REGISTER of MINOR & WP upon shmem as the check was wrong:
>
> if (vm_flags & VM_UFFD_MINOR)
> return is_vm_hugetlb_page(vma) || vma_is_shmem(vma);
>
> Where we'll allow anything to pass on shmem as long as minor mode is
> requested.
>
> Axel did it right when introducing minor mode but I messed it up in
> b1f9e876862d when moving code around. Fix it.
>
> Cc: Axel Rasmussen <axelrasmussen@xxxxxxxxxx>
> Fixes: b1f9e876862d ("mm/uffd: enable write protection for shmem & hugetlbfs")

Should also have had:

Cc: stable@xxxxxxxxxxxxxxx

> Signed-off-by: Peter Xu <peterx@xxxxxxxxxx>

--
Peter Xu