]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - mm/hugetlb.c
rcu: Make srcu_read_lock_held() call common lockdep-enabled function
[mv-sheeva.git] / mm / hugetlb.c
index dae27ba3be2c8523cd032ad330e2f5a32fbffaf3..73f17c0293c0a0e57a62f65f11c969b9319532f5 100644 (file)
@@ -576,6 +576,7 @@ static void prep_compound_gigantic_page(struct page *page, unsigned long order)
        __SetPageHead(page);
        for (i = 1; i < nr_pages; i++, p = mem_map_next(p, page, i)) {
                __SetPageTail(p);
+               set_page_count(p, 0);
                p->first_page = page;
        }
 }
@@ -2422,6 +2423,8 @@ retry_avoidcopy:
         * anon_vma prepared.
         */
        if (unlikely(anon_vma_prepare(vma))) {
+               page_cache_release(new_page);
+               page_cache_release(old_page);
                /* Caller expects lock to be held */
                spin_lock(&mm->page_table_lock);
                return VM_FAULT_OOM;