mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH mm] linear pte_file fix
@ 2005-09-28 20:01 Hugh Dickins
  0 siblings, 0 replies; only message in thread
From: Hugh Dickins @ 2005-09-28 20:01 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

My recent mm patch to give pte_ERROR in do_file_page unless VM_NONLINEAR
was incorrect.  I was forgetting Oleg's patch to the populate functions,
which forces install_file_pte when MAP_POPULATE + MAP_NONBLOCK but page
not in cache (in case an existing nonlinear entry needs removing).  But
that's only necessary in the VM_NONLINEAR case: let's keep the strict
check in do_file_page, and adjust filemap_populate and shmem_populate.

Signed-off-by: Hugh Dickins <hugh@veritas.com>

--- 2.6.14-rc2-mm1/mm/filemap.c	2005-09-22 12:32:03.000000000 +0100
+++ linux/mm/filemap.c	2005-09-28 20:38:20.000000000 +0100
@@ -1542,7 +1542,7 @@ repeat:
 			page_cache_release(page);
 			return err;
 		}
-	} else {
+	} else if (vma->vm_flags & VM_NONLINEAR) {
 		/* No page was found just because we can't read it in now (being
 		 * here implies nonblock != 0), but the page may exist, so set
 		 * the PTE to fault it in later. */
--- 2.6.14-rc2-mm1/mm/shmem.c	2005-09-22 12:32:04.000000000 +0100
+++ linux/mm/shmem.c	2005-09-28 20:40:23.000000000 +0100
@@ -1201,7 +1201,7 @@ static int shmem_populate(struct vm_area
 				page_cache_release(page);
 				return err;
 			}
-		} else {
+		} else if (vma->vm_flags & VM_NONLINEAR) {
 			/* No page was found just because we can't read it in
 			 * now (being here implies nonblock != 0), but the page
 			 * may exist, so set the PTE to fault it in later. */

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-09-28 20:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-09-28 20:01 [PATCH mm] linear pte_file fix Hugh Dickins

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®