{
        atomic_long_sub(l, &mm->hugetlb_usage);
 }
+
+#ifndef set_huge_swap_pte_at
+static inline void set_huge_swap_pte_at(struct mm_struct *mm, unsigned long addr,
+                                       pte_t *ptep, pte_t pte, unsigned long sz)
+{
+       set_huge_pte_at(mm, addr, ptep, pte);
+}
+#endif
 #else  /* CONFIG_HUGETLB_PAGE */
 struct hstate {};
 #define alloc_huge_page(v, a, r) NULL
 static inline void hugetlb_count_sub(long l, struct mm_struct *mm)
 {
 }
+
+static inline void set_huge_swap_pte_at(struct mm_struct *mm, unsigned long addr,
+                                       pte_t *ptep, pte_t pte, unsigned long sz)
+{
+}
 #endif /* CONFIG_HUGETLB_PAGE */
 
 static inline spinlock_t *huge_pte_lock(struct hstate *h,
 
                                 */
                                make_migration_entry_read(&swp_entry);
                                entry = swp_entry_to_pte(swp_entry);
-                               set_huge_pte_at(src, addr, src_pte, entry);
+                               set_huge_swap_pte_at(src, addr, src_pte,
+                                                    entry, sz);
                        }
-                       set_huge_pte_at(dst, addr, dst_pte, entry);
+                       set_huge_swap_pte_at(dst, addr, dst_pte, entry, sz);
                } else {
                        if (cow) {
                                huge_ptep_set_wrprotect(src, addr, src_pte);
 
                                make_migration_entry_read(&entry);
                                newpte = swp_entry_to_pte(entry);
-                               set_huge_pte_at(mm, address, ptep, newpte);
+                               set_huge_swap_pte_at(mm, address, ptep,
+                                                    newpte, huge_page_size(h));
                                pages++;
                        }
                        spin_unlock(ptl);