]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - mm/filemap.c
x86/speculation/mmio: Add sysfs reporting for Processor MMIO Stale Data
[mirror_ubuntu-jammy-kernel.git] / mm / filemap.c
index dae481293b5d95742bf440351d0a79e5f95e9384..42b012b99f4ed94b34927b9303225b47addc3e12 100644 (file)
@@ -2093,7 +2093,6 @@ unsigned find_lock_entries(struct address_space *mapping, pgoff_t start,
                if (!xa_is_value(page)) {
                        if (page->index < start)
                                goto put;
-                       VM_BUG_ON_PAGE(page->index != xas.xa_index, page);
                        if (page->index + thp_nr_pages(page) - 1 > end)
                                goto put;
                        if (!trylock_page(page))
@@ -2355,8 +2354,12 @@ static void filemap_get_read_batch(struct address_space *mapping,
                        break;
                if (PageReadahead(head))
                        break;
-               xas.xa_index = head->index + thp_nr_pages(head) - 1;
-               xas.xa_offset = (xas.xa_index >> xas.xa_shift) & XA_CHUNK_MASK;
+               if (PageHead(head)) {
+                       xas_set(&xas, head->index + thp_nr_pages(head));
+                       /* Handle wrap correctly */
+                       if (xas.xa_index - 1 >= max)
+                               break;
+               }
                continue;
 put_page:
                put_page(head);
@@ -3350,7 +3353,7 @@ vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf)
        vm_fault_t ret = VM_FAULT_LOCKED;
 
        sb_start_pagefault(mapping->host->i_sb);
-       file_update_time(vmf->vma->vm_file);
+       vma_file_update_time(vmf->vma);
        lock_page(page);
        if (page->mapping != mapping) {
                unlock_page(page);