You need to sign in or sign up before continuing.
  • A
    userfaultfd: selftest: exercise UFFDIO_COPY/ZEROPAGE -EEXIST · 67e80328
    Andrea Arcangeli 提交于
    This will retry the UFFDIO_COPY/ZEROPAGE to verify it returns -EEXIST at
    the first invocation and then later every 10 seconds.
    
    In the filebacked MAP_SHARED case this also verifies the -EEXIST
    triggered in the filesystem pagecache insertion, if the offset in the
    file was not a hole.
    
    shmem MAP_SHARED tries to index the newly allocated pagecache in the
    radix tree before checking the pagetable so it doesn't need any
    assistance to exercise that case.
    
    hugetlbfs checks the pmd to be not none before trying to index the
    hugetlbfs page in the radix tree, so it requires to run UFFDIO_COPY into
    an alias mapping (the alternative would be to use MADV_DONTNEED to only
    zap the pagetables, but that doesn't work on hugetlbfs).
    
    [akpm@linux-foundation.org: fix uffdio_zeropage(), per Mike Kravetz]
    Link: http://lkml.kernel.org/r/20170802165145.22628-3-aarcange@redhat.comSigned-off-by: NAndrea Arcangeli <aarcange@redhat.com>
    Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
    Cc: Alexey Perevalov <a.perevalov@samsung.com>
    Cc: Maxime Coquelin <maxime.coquelin@redhat.com>
    Cc: Mike Kravetz <mike.kravetz@oracle.com>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    67e80328
userfaultfd.c 33.8 KB