defconfig: exynos9610: Re-add dropped Wi-Fi AP options lost
[GitHub/LineageOS/android_kernel_motorola_exynos9610.git] / fs / dax.c
index f001d8c72a065173bc4f68733872a4c36413aece..ddb4981ae32eb910c66c493dfa829151a4ef9f72 100644 (file)
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -630,8 +630,8 @@ static void dax_mapping_entry_mkclean(struct address_space *mapping,
                        set_pmd_at(vma->vm_mm, address, pmdp, pmd);
                        mmu_notifier_invalidate_range(vma->vm_mm, start, end);
 unlock_pmd:
-                       spin_unlock(ptl);
 #endif
+                       spin_unlock(ptl);
                } else {
                        if (pfn != pte_pfn(*ptep))
                                goto unlock_pte;
@@ -1327,7 +1327,7 @@ static int dax_iomap_pmd_fault(struct vm_fault *vmf,
         * this is a reliable test.
         */
        pgoff = linear_page_index(vma, pmd_addr);
-       max_pgoff = (i_size_read(inode) - 1) >> PAGE_SHIFT;
+       max_pgoff = DIV_ROUND_UP(i_size_read(inode), PAGE_SIZE);
 
        trace_dax_pmd_fault(inode, vmf, max_pgoff, 0);
 
@@ -1351,13 +1351,13 @@ static int dax_iomap_pmd_fault(struct vm_fault *vmf,
        if ((pmd_addr + PMD_SIZE) > vma->vm_end)
                goto fallback;
 
-       if (pgoff > max_pgoff) {
+       if (pgoff >= max_pgoff) {
                result = VM_FAULT_SIGBUS;
                goto out;
        }
 
        /* If the PMD would extend beyond the file size */
-       if ((pgoff | PG_PMD_COLOUR) > max_pgoff)
+       if ((pgoff | PG_PMD_COLOUR) >= max_pgoff)
                goto fallback;
 
        /*