]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - mm/hugetlb.c
mm/hugetlb.c: defer PageHeadHuge() symbol export
[karo-tx-linux.git] / mm / hugetlb.c
index dee6cf4e6d34135e1880c5c01c7627aa1a33c69a..f730b7a375904fd9e6915d7b562657ea819bf5cf 100644 (file)
@@ -690,15 +690,11 @@ static void prep_compound_gigantic_page(struct page *page, unsigned long order)
  */
 int PageHuge(struct page *page)
 {
-       compound_page_dtor *dtor;
-
        if (!PageCompound(page))
                return 0;
 
        page = compound_head(page);
-       dtor = get_compound_page_dtor(page);
-
-       return dtor == free_huge_page;
+       return get_compound_page_dtor(page) == free_huge_page;
 }
 EXPORT_SYMBOL_GPL(PageHuge);
 
@@ -708,16 +704,11 @@ EXPORT_SYMBOL_GPL(PageHuge);
  */
 int PageHeadHuge(struct page *page_head)
 {
-       compound_page_dtor *dtor;
-
        if (!PageHead(page_head))
                return 0;
 
-       dtor = get_compound_page_dtor(page_head);
-
-       return dtor == free_huge_page;
+       return get_compound_page_dtor(page_head) == free_huge_page;
 }
-EXPORT_SYMBOL_GPL(PageHeadHuge);
 
 pgoff_t __basepage_index(struct page *page)
 {
@@ -3079,7 +3070,7 @@ long follow_hugetlb_page(struct mm_struct *mm, struct vm_area_struct *vma,
 same_page:
                if (pages) {
                        pages[i] = mem_map_offset(page, pfn_offset);
-                       get_page(pages[i]);
+                       get_page_foll(pages[i]);
                }
 
                if (vmas)