|
@@ -1545,8 +1545,7 @@ static inline void mm_dec_nr_pmds(struct mm_struct *mm)
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
-int __pte_alloc(struct mm_struct *mm, struct vm_area_struct *vma,
|
|
|
- pmd_t *pmd, unsigned long address);
|
|
|
+int __pte_alloc(struct mm_struct *mm, pmd_t *pmd, unsigned long address);
|
|
|
int __pte_alloc_kernel(pmd_t *pmd, unsigned long address);
|
|
|
|
|
|
/*
|
|
@@ -1672,15 +1671,15 @@ static inline void pgtable_page_dtor(struct page *page)
|
|
|
pte_unmap(pte); \
|
|
|
} while (0)
|
|
|
|
|
|
-#define pte_alloc_map(mm, vma, pmd, address) \
|
|
|
- ((unlikely(pmd_none(*(pmd))) && __pte_alloc(mm, vma, \
|
|
|
- pmd, address))? \
|
|
|
- NULL: pte_offset_map(pmd, address))
|
|
|
+#define pte_alloc(mm, pmd, address) \
|
|
|
+ (unlikely(pmd_none(*(pmd))) && __pte_alloc(mm, pmd, address))
|
|
|
+
|
|
|
+#define pte_alloc_map(mm, pmd, address) \
|
|
|
+ (pte_alloc(mm, pmd, address) ? NULL : pte_offset_map(pmd, address))
|
|
|
|
|
|
#define pte_alloc_map_lock(mm, pmd, address, ptlp) \
|
|
|
- ((unlikely(pmd_none(*(pmd))) && __pte_alloc(mm, NULL, \
|
|
|
- pmd, address))? \
|
|
|
- NULL: pte_offset_map_lock(mm, pmd, address, ptlp))
|
|
|
+ (pte_alloc(mm, pmd, address) ? \
|
|
|
+ NULL : pte_offset_map_lock(mm, pmd, address, ptlp))
|
|
|
|
|
|
#define pte_alloc_kernel(pmd, address) \
|
|
|
((unlikely(pmd_none(*(pmd))) && __pte_alloc_kernel(pmd, address))? \
|