]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - mm/filemap_xip.c
CacheFiles: Permit the page lock state to be monitored
[linux-2.6-omap-h63xx.git] / mm / filemap_xip.c
index b5167dfb2f2d65366004963558dfa765643423b8..427dfe3ce78c68eebe0afde4636b6fdc91ecdec5 100644 (file)
@@ -89,8 +89,8 @@ do_xip_mapping_read(struct address_space *mapping,
                        }
                }
                nr = nr - offset;
-               if (nr > len)
-                       nr = len;
+               if (nr > len - copied)
+                       nr = len - copied;
 
                error = mapping->a_ops->get_xip_mem(mapping, index, 0,
                                                        &xip_mem, &xip_pfn);
@@ -193,7 +193,7 @@ retry:
                        /* Nuke the page table entry. */
                        flush_cache_page(vma, address, pte_pfn(*pte));
                        pteval = ptep_clear_flush_notify(vma, address, pte);
-                       page_remove_rmap(page, vma);
+                       page_remove_rmap(page);
                        dec_mm_counter(mm, file_rss);
                        BUG_ON(pte_dirty(pteval));
                        pte_unmap_unlock(pte, ptl);