aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/proc
diff options
context:
space:
mode:
authorAndrea Arcangeli <aarcange@redhat.com>2018-11-30 14:09:37 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2018-11-30 14:56:14 -0800
commite2a50c1f64145a04959df2442305d57307e5395a (patch)
tree5b4f22c5fdb7faea628f8a3a0c5f9df5454decf4 /tools/testing/selftests/proc
parentuserfaultfd: shmem/hugetlbfs: only allow to register VM_MAYWRITE vmas (diff)
downloadlinux-dev-e2a50c1f64145a04959df2442305d57307e5395a.tar.xz
linux-dev-e2a50c1f64145a04959df2442305d57307e5395a.zip
userfaultfd: shmem: add i_size checks
With MAP_SHARED: recheck the i_size after taking the PT lock, to serialize against truncate with the PT lock. Delete the page from the pagecache if the i_size_read check fails. With MAP_PRIVATE: check the i_size after the PT lock before mapping anonymous memory or zeropages into the MAP_PRIVATE shmem mapping. A mostly irrelevant cleanup: like we do the delete_from_page_cache() pagecache removal after dropping the PT lock, the PT lock is a spinlock so drop it before the sleepable page lock. Link: http://lkml.kernel.org/r/20181126173452.26955-5-aarcange@redhat.com Fixes: 4c27fe4c4c84 ("userfaultfd: shmem: add shmem_mcopy_atomic_pte for userfaultfd support") Signed-off-by: Andrea Arcangeli <aarcange@redhat.com> Reviewed-by: Mike Rapoport <rppt@linux.ibm.com> Reviewed-by: Hugh Dickins <hughd@google.com> Reported-by: Jann Horn <jannh@google.com> Cc: <stable@vger.kernel.org> Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com> Cc: Mike Kravetz <mike.kravetz@oracle.com> Cc: Peter Xu <peterx@redhat.com> Cc: stable@vger.kernel.org Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions