|
@@ -569,7 +569,7 @@ static inline int track_pfn_copy(struct vm_area_struct *vma)
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|
|
- * untrack_pfn_vma is called while unmapping a pfnmap for a region.
|
|
|
|
|
|
+ * untrack_pfn is called while unmapping a pfnmap for a region.
|
|
* untrack can be called for a specific region indicated by pfn and size or
|
|
* untrack can be called for a specific region indicated by pfn and size or
|
|
* can be for the entire vma (in which case pfn, size are zero).
|
|
* can be for the entire vma (in which case pfn, size are zero).
|
|
*/
|
|
*/
|
|
@@ -577,6 +577,13 @@ static inline void untrack_pfn(struct vm_area_struct *vma,
|
|
unsigned long pfn, unsigned long size)
|
|
unsigned long pfn, unsigned long size)
|
|
{
|
|
{
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * untrack_pfn_moved is called while mremapping a pfnmap for a new region.
|
|
|
|
+ */
|
|
|
|
+static inline void untrack_pfn_moved(struct vm_area_struct *vma)
|
|
|
|
+{
|
|
|
|
+}
|
|
#else
|
|
#else
|
|
extern int track_pfn_remap(struct vm_area_struct *vma, pgprot_t *prot,
|
|
extern int track_pfn_remap(struct vm_area_struct *vma, pgprot_t *prot,
|
|
unsigned long pfn, unsigned long addr,
|
|
unsigned long pfn, unsigned long addr,
|
|
@@ -586,6 +593,7 @@ extern int track_pfn_insert(struct vm_area_struct *vma, pgprot_t *prot,
|
|
extern int track_pfn_copy(struct vm_area_struct *vma);
|
|
extern int track_pfn_copy(struct vm_area_struct *vma);
|
|
extern void untrack_pfn(struct vm_area_struct *vma, unsigned long pfn,
|
|
extern void untrack_pfn(struct vm_area_struct *vma, unsigned long pfn,
|
|
unsigned long size);
|
|
unsigned long size);
|
|
|
|
+extern void untrack_pfn_moved(struct vm_area_struct *vma);
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#ifdef __HAVE_COLOR_ZERO_PAGE
|
|
#ifdef __HAVE_COLOR_ZERO_PAGE
|