huge_ptep_clear_flush(vma, address, ptep);
                set_huge_pte_at(mm, address, ptep,
                                make_huge_pte(vma, new_page, 1));
+               page_remove_rmap(old_page);
+               hugepage_add_anon_rmap(new_page, vma, address);
                /* Make the old page be freed below */
                new_page = old_page;
 +              mmu_notifier_invalidate_range_end(mm,
 +                      address & huge_page_mask(h),
 +                      (address & huge_page_mask(h)) + huge_page_size(h));
        }
        page_cache_release(new_page);
        page_cache_release(old_page);
 
  #include <linux/page-isolation.h>
  #include <linux/suspend.h>
  #include <linux/slab.h>
 +#include <linux/swapops.h>
+ #include <linux/hugetlb.h>
  #include "internal.h"
  
  int sysctl_memory_failure_early_kill __read_mostly = 0;