aboutsummaryrefslogtreecommitdiff
path: root/mm/shmem.c
diff options
context:
space:
mode:
authorSean McNeil <sean@mcneil.com>2008-11-19 17:11:13 +0000
committerAndy Green <agreen@pads.home.warmcat.com>2008-11-19 17:11:13 +0000
commitd162cf5720fb2623c14a35a4b14981789859d400 (patch)
treefef5078a0766c78ec8670a167e1eb7a2ccc2ca85 /mm/shmem.c
parenta49eff93b8d80d4db638215834c5fad462170357 (diff)
android-tracking.patch
Minimal set of kernel changes to support Android operation. Note arch/arm/configs/gta02-android-defconfig
Diffstat (limited to 'mm/shmem.c')
-rw-r--r--mm/shmem.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/mm/shmem.c b/mm/shmem.c
index 0ed075215e5..c2bb9245bb4 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -2587,6 +2587,14 @@ put_memory:
}
EXPORT_SYMBOL_GPL(shmem_file_setup);
+void shmem_set_file(struct vm_area_struct *vma, struct file *file)
+{
+ if (vma->vm_file)
+ fput(vma->vm_file);
+ vma->vm_file = file;
+ vma->vm_ops = &shmem_vm_ops;
+}
+
/**
* shmem_zero_setup - setup a shared anonymous mapping
* @vma: the vma to be mmapped is prepared by do_mmap_pgoff
@@ -2600,9 +2608,7 @@ int shmem_zero_setup(struct vm_area_struct *vma)
if (IS_ERR(file))
return PTR_ERR(file);
- if (vma->vm_file)
- fput(vma->vm_file);
- vma->vm_file = file;
- vma->vm_ops = &shmem_vm_ops;
+ shmem_set_file(vma, file);
+
return 0;
}