mm: remove VM_FAULT_WRITE
authorDavid Hildenbrand <david@redhat.com>
Fri, 21 Oct 2022 10:11:35 +0000 (12:11 +0200)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 12 Dec 2022 02:12:08 +0000 (18:12 -0800)
All users -- GUP and KSM -- are gone, let's just remove it.

Link: https://lkml.kernel.org/r/20221021101141.84170-4-david@redhat.com
Signed-off-by: David Hildenbrand <david@redhat.com>
Acked-by: Peter Xu <peterx@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jason Gunthorpe <jgg@nvidia.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/mm_types.h
mm/huge_memory.c
mm/memory.c

index 018b1c0..199f98b 100644 (file)
@@ -929,7 +929,6 @@ typedef __bitwise unsigned int vm_fault_t;
  * @VM_FAULT_OOM:              Out Of Memory
  * @VM_FAULT_SIGBUS:           Bad access
  * @VM_FAULT_MAJOR:            Page read from storage
- * @VM_FAULT_WRITE:            Special case for get_user_pages
  * @VM_FAULT_HWPOISON:         Hit poisoned small page
  * @VM_FAULT_HWPOISON_LARGE:   Hit poisoned large page. Index encoded
  *                             in upper bits
@@ -950,7 +949,6 @@ enum vm_fault_reason {
        VM_FAULT_OOM            = (__force vm_fault_t)0x000001,
        VM_FAULT_SIGBUS         = (__force vm_fault_t)0x000002,
        VM_FAULT_MAJOR          = (__force vm_fault_t)0x000004,
-       VM_FAULT_WRITE          = (__force vm_fault_t)0x000008,
        VM_FAULT_HWPOISON       = (__force vm_fault_t)0x000010,
        VM_FAULT_HWPOISON_LARGE = (__force vm_fault_t)0x000020,
        VM_FAULT_SIGSEGV        = (__force vm_fault_t)0x000040,
@@ -976,7 +974,6 @@ enum vm_fault_reason {
        { VM_FAULT_OOM,                 "OOM" },        \
        { VM_FAULT_SIGBUS,              "SIGBUS" },     \
        { VM_FAULT_MAJOR,               "MAJOR" },      \
-       { VM_FAULT_WRITE,               "WRITE" },      \
        { VM_FAULT_HWPOISON,            "HWPOISON" },   \
        { VM_FAULT_HWPOISON_LARGE,      "HWPOISON_LARGE" },     \
        { VM_FAULT_SIGSEGV,             "SIGSEGV" },    \
index 8f10afb..1d9ad90 100644 (file)
@@ -1376,7 +1376,7 @@ reuse:
                if (pmdp_set_access_flags(vma, haddr, vmf->pmd, entry, 1))
                        update_mmu_cache_pmd(vma, vmf->address, vmf->pmd);
                spin_unlock(vmf->ptl);
-               return VM_FAULT_WRITE;
+               return 0;
        }
 
 unlock_fallback:
index 815d2ff..aad226d 100644 (file)
@@ -3213,7 +3213,7 @@ static vm_fault_t wp_page_copy(struct vm_fault *vmf)
        }
 
        delayacct_wpcopy_end();
-       return (page_copied && !unshare) ? VM_FAULT_WRITE : 0;
+       return 0;
 oom_free_new:
        put_page(new_page);
 oom:
@@ -3277,14 +3277,14 @@ static vm_fault_t wp_pfn_shared(struct vm_fault *vmf)
                return finish_mkwrite_fault(vmf);
        }
        wp_page_reuse(vmf);
-       return VM_FAULT_WRITE;
+       return 0;
 }
 
 static vm_fault_t wp_page_shared(struct vm_fault *vmf)
        __releases(vmf->ptl)
 {
        struct vm_area_struct *vma = vmf->vma;
-       vm_fault_t ret = VM_FAULT_WRITE;
+       vm_fault_t ret = 0;
 
        get_page(vmf->page);
 
@@ -3430,7 +3430,7 @@ reuse:
                        return 0;
                }
                wp_page_reuse(vmf);
-               return VM_FAULT_WRITE;
+               return 0;
        }
 copy:
        /*
@@ -3944,7 +3944,6 @@ vm_fault_t do_swap_page(struct vm_fault *vmf)
                if (vmf->flags & FAULT_FLAG_WRITE) {
                        pte = maybe_mkwrite(pte_mkdirty(pte), vma);
                        vmf->flags &= ~FAULT_FLAG_WRITE;
-                       ret |= VM_FAULT_WRITE;
                }
                rmap_flags |= RMAP_EXCLUSIVE;
        }