Revert "ANDROID: add vma->file_ref_count to synchronize vma->vm_file destruction"
This reverts commit a3fe25d923.
File refcounting implemented in this patch is broken and needs to be
redone.
The change in include/linux/mm_types.h which adds file_ref_count into
vm_area_struct is left untouched to keep ABI intact.
Bug: 258731892
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I37984eb2f0981a989f74bcaaa6be42040a2f241e
This commit is contained in:
@@ -685,9 +685,6 @@ static inline void vma_init(struct vm_area_struct *vma, struct mm_struct *mm)
|
||||
memset(vma, 0, sizeof(*vma));
|
||||
vma->vm_mm = mm;
|
||||
vma->vm_ops = &dummy_vm_ops;
|
||||
#ifdef CONFIG_SPECULATIVE_PAGE_FAULT
|
||||
atomic_set(&vma->file_ref_count, 1);
|
||||
#endif
|
||||
INIT_LIST_HEAD(&vma->anon_vma_chain);
|
||||
}
|
||||
|
||||
@@ -3386,18 +3383,6 @@ static inline bool pte_spinlock(struct vm_fault *vmf)
|
||||
return __pte_map_lock(vmf);
|
||||
}
|
||||
|
||||
static inline bool vma_get_file_ref(struct vm_area_struct *vma)
|
||||
{
|
||||
return atomic_inc_not_zero(&vma->file_ref_count);
|
||||
}
|
||||
|
||||
extern void fput(struct file *);
|
||||
static inline void vma_put_file_ref(struct vm_area_struct *vma)
|
||||
{
|
||||
if (vma && atomic_dec_and_test(&vma->file_ref_count))
|
||||
fput(vma->vm_file);
|
||||
}
|
||||
|
||||
#else /* !CONFIG_SPECULATIVE_PAGE_FAULT */
|
||||
|
||||
#define pte_map_lock(___vmf) \
|
||||
|
||||
Reference in New Issue
Block a user