Now when shmem VMAs can be filled with zero page via userfaultfd we can
report that UFFDIO_ZEROPAGE is available for those VMAs

Signed-off-by: Mike Rapoport <r...@linux.vnet.ibm.com>
---
 fs/userfaultfd.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c
index f7555fc..57794c2 100644
--- a/fs/userfaultfd.c
+++ b/fs/userfaultfd.c
@@ -1183,7 +1183,7 @@ static int userfaultfd_register(struct userfaultfd_ctx 
*ctx,
        struct uffdio_register __user *user_uffdio_register;
        unsigned long vm_flags, new_flags;
        bool found;
-       bool non_anon_pages;
+       bool basic_ioctls;
        unsigned long start, end, vma_end;
 
        user_uffdio_register = (struct uffdio_register __user *) arg;
@@ -1249,7 +1249,7 @@ static int userfaultfd_register(struct userfaultfd_ctx 
*ctx,
         * Search for not compatible vmas.
         */
        found = false;
-       non_anon_pages = false;
+       basic_ioctls = false;
        for (cur = vma; cur && cur->vm_start < end; cur = cur->vm_next) {
                cond_resched();
 
@@ -1288,8 +1288,8 @@ static int userfaultfd_register(struct userfaultfd_ctx 
*ctx,
                /*
                 * Note vmas containing huge pages
                 */
-               if (is_vm_hugetlb_page(cur) || vma_is_shmem(cur))
-                       non_anon_pages = true;
+               if (is_vm_hugetlb_page(cur))
+                       basic_ioctls = true;
 
                found = true;
        }
@@ -1360,7 +1360,7 @@ static int userfaultfd_register(struct userfaultfd_ctx 
*ctx,
                 * userland which ioctls methods are guaranteed to
                 * succeed on this range.
                 */
-               if (put_user(non_anon_pages ? UFFD_API_RANGE_IOCTLS_BASIC :
+               if (put_user(basic_ioctls ? UFFD_API_RANGE_IOCTLS_BASIC :
                             UFFD_API_RANGE_IOCTLS,
                             &user_uffdio_register->ioctls))
                        ret = -EFAULT;
-- 
2.7.4

Reply via email to