Messages in this thread | | | From | "Kirill A. Shutemov" <> | Subject | Re: [PATCH 5/5] mm, memcontrol: use vma_is_anonymous() to check for anon VMA | Date | Mon, 13 Jul 2015 16:20:56 +0300 (EEST) |
| |
Johannes Weiner wrote: > On Mon, Jul 13, 2015 at 01:54:12PM +0300, Kirill A. Shutemov wrote: > > !vma->vm_file is not reliable to detect anon VMA, because not all > > drivers bother set it. Let's use vma_is_anonymous() instead. > > > > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> > > Cc: Johannes Weiner <hannes@cmpxchg.org> > > Cc: Michal Hocko <mhocko@suse.cz> > > --- > > mm/memcontrol.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > > index acb93c554f6e..a624709f0dd7 100644 > > --- a/mm/memcontrol.c > > +++ b/mm/memcontrol.c > > @@ -4809,7 +4809,7 @@ static struct page *mc_handle_file_pte(struct vm_area_struct *vma, > > struct address_space *mapping; > > pgoff_t pgoff; > > > > - if (!vma->vm_file) /* anonymous vma */ > > + if (vma_is_anonymous(vma)) /* anonymous vma */ > > return NULL; > > if (!(mc.flags & MOVE_FILE)) > > return NULL; > > The next line does vma->vm_file->f_mapping, so it had better be !NULL. > > It's not about reliably detecting anonymous vs. file, it is about > whether there is a mapping against which we can do find_get_page().
You're right. This patch is totally broken.
-- Kirill
| |