We'll need this for AXFS. The equivalent function in filemap.c is exported.
Signed-off-by: Jared Hulbert <jaredeh@xxxxxxxxx>
---
include/linux/mm.h | 4 ++++
mm/filemap_xip.c | 3 ++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 72a15dc..2be5c22 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -161,6 +161,10 @@ struct vm_fault {
*/
};
+#ifdef CONFIG_FS_XIP
+extern int xip_file_fault(struct vm_area_struct *vma, struct vm_fault *vmf);
+#endif
+
/*--
* These are the virtual MM functions - opening of an area, closing and
* unmapping it (needed to keep files on disk up-to-date etc), pointer
diff --git a/mm/filemap_xip.c b/mm/filemap_xip.c
index 380ab40..ab2f174 100644
--- a/mm/filemap_xip.c
+++ b/mm/filemap_xip.c
@@ -206,7 +206,7 @@ __xip_unmap (struct address_space * mapping,
*
* This function is derived from filemap_fault, but used for execute in place
*/
-static int xip_file_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
+int xip_file_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
{
struct file *file = vma->vm_file;
struct address_space *mapping = file->f_mapping;
@@ -262,6 +262,7 @@ found:
return 0;
}
}
+EXPORT_SYMBOL_GPL(xip_file_fault);
static struct vm_operations_struct xip_file_vm_ops = {
.fault = xip_file_fault,