]> Pileus Git - ~andy/linux/blobdiff - mm/swapfile.c
ARM: 7953/1: mm: ensure TLB invalidation is complete before enabling MMU
[~andy/linux] / mm / swapfile.c
index 612a7c9795f6eca1f43f7e86af43d2e74e2f56fa..c6c13b050a58c4223464221a61e93a9944aec9f5 100644 (file)
@@ -616,7 +616,7 @@ scan:
                }
        }
        offset = si->lowest_bit;
-       while (++offset < scan_base) {
+       while (offset < scan_base) {
                if (!si->swap_map[offset]) {
                        spin_lock(&si->lock);
                        goto checks;
@@ -629,6 +629,7 @@ scan:
                        cond_resched();
                        latency_ration = LATENCY_LIMIT;
                }
+               offset++;
        }
        spin_lock(&si->lock);
 
@@ -906,7 +907,7 @@ int reuse_swap_page(struct page *page)
 {
        int count;
 
-       VM_BUG_ON(!PageLocked(page));
+       VM_BUG_ON_PAGE(!PageLocked(page), page);
        if (unlikely(PageKsm(page)))
                return 0;
        count = page_mapcount(page);
@@ -926,7 +927,7 @@ int reuse_swap_page(struct page *page)
  */
 int try_to_free_swap(struct page *page)
 {
-       VM_BUG_ON(!PageLocked(page));
+       VM_BUG_ON_PAGE(!PageLocked(page), page);
 
        if (!PageSwapCache(page))
                return 0;
@@ -2714,7 +2715,7 @@ struct swap_info_struct *page_swap_info(struct page *page)
  */
 struct address_space *__page_file_mapping(struct page *page)
 {
-       VM_BUG_ON(!PageSwapCache(page));
+       VM_BUG_ON_PAGE(!PageSwapCache(page), page);
        return page_swap_info(page)->swap_file->f_mapping;
 }
 EXPORT_SYMBOL_GPL(__page_file_mapping);
@@ -2722,7 +2723,7 @@ EXPORT_SYMBOL_GPL(__page_file_mapping);
 pgoff_t __page_file_index(struct page *page)
 {
        swp_entry_t swap = { .val = page_private(page) };
-       VM_BUG_ON(!PageSwapCache(page));
+       VM_BUG_ON_PAGE(!PageSwapCache(page), page);
        return swp_offset(swap);
 }
 EXPORT_SYMBOL_GPL(__page_file_index);