]> git.neil.brown.name Git - history.git/commitdiff
Don't allow rmap to touch reserved or out-of-range pages
authorLinus Torvalds <torvalds@home.transmeta.com>
Thu, 17 Apr 2003 09:33:05 +0000 (02:33 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Thu, 17 Apr 2003 09:33:05 +0000 (02:33 -0700)
mm/memory.c

index 23c6cc4ca43463cfe2074fe92c136b68b82177dd..58b5f79ce6147981679c9154c5eb5e399dacfcd6 100644 (file)
@@ -292,13 +292,11 @@ skip_copy_pte_range:
                                 * and not mapped via rmap - duplicate the
                                 * mapping as is.
                                 */
-                               if (!pfn_valid(pfn)) {
+                               page = pfn_to_page(pfn);
+                               if (!pfn_valid(pfn) || PageReserved(page)) {
                                        set_pte(dst_pte, pte);
                                        goto cont_copy_pte_range_noset;
                                }
-                               page = pfn_to_page(pfn);
-                               if (PageReserved(page))
-                                       goto cont_copy_pte_range;
 
                                /*
                                 * If it's a COW mapping, write protect it both